From d631480c2f02d99e3cac8183600284c018646ea7 Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Fri, 4 Sep 2020 18:35:28 +0200 Subject: [PATCH 01/17] Started the rewrite of the manual to correspond with the refactor of the code. Stream 1 is completely written into the new structure, now 9 other streams are still left to do --- tex-docs/CLAuDE.tex | 22 +- tex-docs/references.bib | 11 + tex-docs/streams/Stream2.tex | 2 +- tex-docs/streams/Stream3.tex | 36 +--- tex-docs/streams/Stream5.tex | 133 +----------- tex-docs/streams/TTNMETAF.tex | 49 +---- tex-docs/topics/advection.tex | 0 tex-docs/topics/control_panel.tex | 104 ++++++++++ .../Stream1.tex => topics/radiation.tex} | 134 +++++------- tex-docs/topics/util_funcs.tex | 192 ++++++++++++++++++ tex-docs/topics/velocity.tex | 0 11 files changed, 379 insertions(+), 304 deletions(-) create mode 100644 tex-docs/topics/advection.tex create mode 100644 tex-docs/topics/control_panel.tex rename tex-docs/{streams/Stream1.tex => topics/radiation.tex} (55%) create mode 100644 tex-docs/topics/util_funcs.tex create mode 100644 tex-docs/topics/velocity.tex diff --git a/tex-docs/CLAuDE.tex b/tex-docs/CLAuDE.tex index ce078d5..156468c 100644 --- a/tex-docs/CLAuDE.tex +++ b/tex-docs/CLAuDE.tex @@ -35,16 +35,12 @@ will be presented in SI units \cite{SI} between brackets like: $T$: The temperat to relate SI units to your preferred system of units, please refer to the internet for help with that. There are great calculators online where you only need to plug in a number and select the right units. -Within this manual we will not concern ourselves with plotting the data, instead we focus on the physics side of things and translating formular into code. If you are interested in how the +Within this manual we will not concern ourselves with plotting the data, instead we focus on the physics side of things and translating formulae into code. If you are interested in how the plotting of the data works, or how loading and saving data works, please refer to the relevant stream on Simon's Twitch page \cite{twitch}. -This manual is for the toy model, which is as of now still in development. Therefore this manual will be in chronological order, explaining everything in the same order as it has been done. -There are plans to eventually modularise the whole model into seperate parts that can be extended by the community. When that will hit development, a new manual for that version of the model -will be made that treats things per topic instead of chronological order. - -One important thing to note, the layout may change significantly when new sections are added. This is due to the amount of code that is added/changed. If a lot of code changes, a lot of so called +This manual is for the toy model, which is as of now still in development. One important thing to note is that the layout may change significantly when new sections are added. This is due to the amount of code that is added/changed. If a lot of code changes, a lot of so called 'algorithm' blocks are present which have different placement rules than just plain text. Therefore it may occur that an algorithm is referenced even though it is one or two pages later. This is -a pain to fix and if something later on changes the whole layout may be messed up again and is a pain to fix again. Hence I opt to let \LaTeX (the software/typeset language used to create this +a pain to fix and if something later on changes, the whole layout may be messed up again and is a pain to fix again. Hence I opt to let \LaTeX (the software/typeset language used to create this manual) figure out the placement of the algorithm blocks, which may or may not be in the right places. Lastly, the manual is now up on the Planet Factory GitHub repository\cite{claudeGit}, together with all the source code. There is also a fork \cite{nomGit} that also contains the source code. @@ -53,8 +49,6 @@ particular stream is missing in the version on the Planet Factory repository, ch patient, or you can start writing a part of the manual yourself! Don't forget to ping me in the Discord to notify me of any additions (GitHub refuses to send me emails so I have no other way of knowing). -\input{streams/Stream1.tex} - \input{streams/Stream2.tex} \input{streams/Stream3.tex} @@ -73,6 +67,16 @@ knowing). \input{streams/Stream10.tex} +\input{topics/control_panel.tex} + +\input{topics/util_funcs.tex} + +\input{topics/radiation.tex} + +%Velocity + +%Advection + \newpage \input{streams/TTNMETAF.tex} diff --git a/tex-docs/references.bib b/tex-docs/references.bib index 7429d03..e23029b 100644 --- a/tex-docs/references.bib +++ b/tex-docs/references.bib @@ -45,6 +45,17 @@ pages={1328}, edition={14th global} } +@inbook{specificHeat, +place={Harlow}, +title={Sears and Zemanskys University physics with modern physics}, +publisher={Pearson Education}, +author={Young, Hugh D. and Freedman, Roger A. and Ford, A. Lewis}, +year={2016}, +chapter={17}, +pages={581}, +edition={14th global} +} + @inbook{thermo1, place={Harlow}, title={Sears and Zemanskys University physics with modern physics}, diff --git a/tex-docs/streams/Stream2.tex b/tex-docs/streams/Stream2.tex index f88a7fd..c5d3af3 100644 --- a/tex-docs/streams/Stream2.tex +++ b/tex-docs/streams/Stream2.tex @@ -3,7 +3,7 @@ In its current state, CLaUDE has a static planet. This means that the planet rem themselves. But before we start adding layers, let's talk about a term you will hear more often: numerical instability. Numerical instability occurs when you first run the model. This is due to the nature of the equations. Nearly all equations are continuous, which means that they are always at work. However -when you start the model, the equations were not at work yet. It is as if you suddenly give a random meteor an atmosphere, place it in orbit around a star and don't touch i for a bit. You will +when you start the model, the equations were not at work yet. It is as if you suddenly give a random meteor an atmosphere, place it in orbit around a star and don't touch it for a bit. You will see that the whole system oscilates wildly as it adjusts to the sudden changes and eventually it will stabilise. Another term you might encounter is blow up, this occurs when when the model suddenly no longer behaves like it should. This is most likely caused by mistakes in the code or incorrect paramter initialisation. Be wary of the existence of both factors, and do not dismiss a model if it behaves weirdly as it has just started up. diff --git a/tex-docs/streams/Stream3.tex b/tex-docs/streams/Stream3.tex index b29ab13..db6edd3 100644 --- a/tex-docs/streams/Stream3.tex +++ b/tex-docs/streams/Stream3.tex @@ -46,35 +46,6 @@ $u$ in both $x$ and $y$ directions. Then if we write out $\nabla u$ we get \auto \end{equation} \end{subequations} -Now that we have the momentum equations sorted out, we need to define a method to do the gradient calculations for us. Therefore we define two functions \autoref{alg:gradient x} and -\autoref{alg:gradient y} that calculate the $x$ and $y$ gradients respectively. - -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{Matrix (double array) $a$, first index $i$, second index $j$} - \Output{Gradient in the $x$ direction} - $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon] - a[i, (j - 1) \text{ mod } nlon]}{\delta x[i]}$ \; - \Return{$grad$} \; - \caption{Calculating the gradient in the $x$ direction} - \label{alg:gradient x} -\end{algorithm} - -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{Matrix (double array) $a$, first index $i$, second index $j$} - \Output{Gradient in the $y$ direction} - \eIf{$i == 0$ or $i == nlat - 1$}{ - $grad \leftarrow 0$ \; - }{ - $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; - } - \Return $grad$ \; - \caption{Calculating the gradient in the $y$ direction} - \label{alg:gradient y} -\end{algorithm} - With the gradient functions defined, we can move on to the main code for the momentum equations. The main loop is shown in \autoref{alg:stream3}. Do note that this loop replaces the one in \autoref{alg:stream2v2} as these calculate the same thing, but the new algorithm does it better. @@ -117,8 +88,7 @@ The diffusion equation, as written in \autoref{eq:diffusion}, describes how the \end{equation} Now to get this into code we need the following algorithms \autoref{alg:laplacian} and \autoref{alg:diffusion}. \autoref{alg:laplacian} implements the laplacian operator, whereas -\autoref{alg:diffusion} implements the diffusion calculations. $\Delta_x$ and $\Delta_y$ in \autoref{alg:laplacian} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} -respectively. $\nabla^2$ in \autoref{alg:diffusion} represents the call to \autoref{alg:laplacian}. +\autoref{alg:diffusion} implements the diffusion calculations. $\nabla^2$ in \autoref{alg:diffusion} represents the call to \autoref{alg:laplacian}. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -164,10 +134,6 @@ The advection equation is shown in \autoref{eq:advection}. The symbols are: \label{eq:advection} \end{equation} -As we expect to use the divergence operator more often throughout our model, let us define a seperate function for it in \autoref{alg:divergence}. $\Delta_x$ and $\Delta_y$ in -\autoref{alg:divergence} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} respectively. We do the multiplication with the velocity vector here already, as we expect -that we might use it in combination with the divergence operator more frequently. - \begin{algorithm} \SetKwInOut{Input}{Input} \SetKwInOut{Output}{Output} diff --git a/tex-docs/streams/Stream5.tex b/tex-docs/streams/Stream5.tex index 8493d2d..6d01ae0 100644 --- a/tex-docs/streams/Stream5.tex +++ b/tex-docs/streams/Stream5.tex @@ -16,90 +16,7 @@ are no longer indexed by $lat, lon$ but are indexed by $lat, lon, layer$. \label{alg:more layers} \end{algorithm} -We also need to change all the gradient functions (\autoref{alg:gradient x} and \autoref{alg:gradient y}) to incorporate the atmospheric layers. Additionally we need a new gradient function that -calculates the gradient in the $z$ direction (vertical). Let us first change the existing gradient functions to take the atmospheric layer in effect. The changes can be found in -\autoref{alg:gradient x layer} and \autoref{alg:gradient y layer}. Let us improve the gradient in the $y$ direction as well. Since we are using the central difference method (calculating the -gradient by taking the difference of the next grid cell and the previous grid cell) there is no gradient at the poles. What we can do instead of returning $0$ for those cases is forward -differencing (calculating the gradient by taking the difference of the cell and the next/previous cell, multiplied by $2$ to keep it fair). A special change in both functions is checking whether -$k$ is equal to \texttt{NULL}. We do this as sometimes we want to use this function for matrices that does not have the layer dimension. Hence we define a default value for $k$ which is -\texttt{NULL}. \texttt{NULL} is a special value in computer science. It represents nothing. This can be useful sometimes if you declare a variable to be something but it is referring to something -that has been deleted or it is returned when some function fails. It usually indicates that something special is going on. So here we use it in the special case where we do not want to consider -the layer part in the gradient. -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} - \Output{Gradient in the $x$ direction} - \eIf{$k == \texttt{NULL}$}{ - $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon] - a[i, (j - 1) \text{ mod } nlon]}{\delta x[i]}$ \; - }{ - $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon, k] - a[i, (j - 1) \text{ mod } nlon, k]}{\delta x[i]}$ \; - } - \Return{$grad$} \; - \caption{Calculating the gradient in the $x$ direction} - \label{alg:gradient x layer} -\end{algorithm} - -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} - \Output{Gradient in the $y$ direction} - \eIf{$k == \texttt{NULL}$}{ - \uIf{$i == 0$}{ - $grad \leftarrow 2 \frac{a[i + 1, j] - a[i, j]}{\delta y}$ \; - }\uElseIf{$i == nlat - 1$}{ - $grad \leftarrow 2 \frac{a[i, j] - a[i - 1, j]}{\delta y}$ \; - }\uElse{ - $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; - } - }{ - \uIf{$i == 0$}{ - $grad \leftarrow 2 \frac{a[i + 1, j, k] - a[i, j, k]}{\delta y}$ \; - }\uElseIf{$i == nlat - 1$}{ - $grad \leftarrow 2 \frac{a[i, j, k] - a[i - 1, j, k]}{\delta y}$ \; - }\uElse{ - $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; - } - } - \Return $grad$ \; - \caption{Calculating the gradient in the $y$ direction} - \label{alg:gradient y layer} -\end{algorithm} - -With those changes done, let us define the gradient in the $z$ direction. The function can be found in \autoref{alg:gradient z layer}. Here $a.dimensions$ is the attribute that tells us how -deeply nested the array $a$ is. If the result is $1$ we have just a normal array, if it is $2$ we have a double array (an array at each index of the array) which is also called a matrix and if it -is $3$ we have a triple array. We need this because we have a one-dimensional case, for when we do not use multiple layers and a three-dimensional case for when we do use multiple layers. This -distinction is needed to avoid errors being thrown when running the model with one or multiple layers. - -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$} - \Output{Gradient in the $z$ direction} - \uIf{$a.dimensions == 1$}{ - \uIf{$k == 0$}{ - $grad \leftarrow \frac{a[k + 1] - a[k]}{\delta z[k]}$ \; - }\uElseIf{$k == nlevels - 1$}{ - $grad \leftarrow \frac{a[k] - a[k - 1]}{\delta z[k]}$ \; - }\uElse{ - $grad \leftarrow \frac{a[k + 1] - a[k - 1]}{2\delta z[k]}$ \; - } - } \uElse { - \uIf{$k == 0$}{ - $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k]}{\delta z[k]}$ \; - }\uElseIf{$k == nlevels - 1$}{ - $grad \leftarrow \frac{a[i, j, k] - a[i, j, k - 1]}{\delta z[k]}$ \; - }\uElse{ - $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k - 1]}{2\delta z[k]}$ \; - } - } - - \Return $grad$ \; - \caption{Calculating the gradient in the $z$ direction} - \label{alg:gradient z layer} -\end{algorithm} As you can see, we have used $\delta z$ however, we have not defined it yet. Let us do that in \autoref{alg:gradient z}. @@ -112,58 +29,10 @@ As you can see, we have used $\delta z$ however, we have not defined it yet. Let \label{alg:gradient z} \end{algorithm} -Let's incorporate the changes for the Laplacian operator (\autoref{alg:laplacian}) as well. The new code can be found in \autoref{alg:laplacian layer}. - -\begin{algorithm}[hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{A matrix (double array) a} - \Output{A matrix (double array) with results for the laplacian operator for each element} - \eIf{$a.dimensions == 2$}{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - $output[lat, lon] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon)}{\delta x[lat]} + \frac{\Delta_y(a, lat + 1, lon) - - \Delta_y(a, lat - 1, lon)}{\delta y}$\; - } - } - }{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - \For{$k \in [0, nlevels - 1]$}{ - $output[lat, lon, k] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon, k) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon, k)}{\delta x[lat]} + \frac{\Delta_y(a, - lat + 1, lon, k) - \Delta_y(a, lat - 1, lon, k)}{\delta y} + \frac{\Delta_z(a, lat, lon, k + 1) - \Delta_z(a, lat, lon, k + 1)}{2\delta z[k]}$\; - } - } - } - } - - \Return{$ouput$} \; - \caption{Calculate the laplacian operator over a matrix a} - \label{alg:laplacian layer} -\end{algorithm} - Of course we also need to incorporate the new layers in the divergence operator (\autoref{alg:divergence}). The new changes can be found in \autoref{alg:divergence layer}. Here we use $w$, the vertical wind velocity. We define $w$ in the same way as $u$ and $v$, it is all zeroes (in the beginning) and has the same dimensions as $u$ and $v$. -\begin{algorithm}[!hbt] - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{A matrix (double array) $a$} - \Output{A matrix (double array) containing the result of the divergence operator taken over that element} - $dim_1 \leftarrow \text{ Length of } a \text{ in the first dimension}$ \; - \For{$i \in [0, dim_1]$}{ - $dim_2 \leftarrow \text{ Length of } a \text{ in the second dimension (i.e. the length of the array stored at index } i)$ \; - \For{$j \in [0, dim_2]$}{ - $dim_3 \leftarrow \text{ Length of } a \text{ in the third dimension}$ \; - \For{$k \in [0, dim_3]$}{ - $output[i, j] \leftarrow \Delta_x(au, i, j, k) + \Delta_y(av, i, j, k) + \Delta_z(aw, i, j, k)$ \; - } - } - } - \Return{$output$} \; - \caption{Calculate the result of the divergence operator on a vector} - \label{alg:divergence layer} -\end{algorithm} + With all those changes in the functions done, let us incorporate the changes into the model itself. We now need to account for the temperature change throughout the layers. Let us look at the atmospheric temperature equation again (\autoref{eq:atmos change}). We need to account for one more thing, the absorbtion of energy from another layer. The new equation is shown in diff --git a/tex-docs/streams/TTNMETAF.tex b/tex-docs/streams/TTNMETAF.tex index d2f90f0..c269858 100644 --- a/tex-docs/streams/TTNMETAF.tex +++ b/tex-docs/streams/TTNMETAF.tex @@ -5,51 +5,4 @@ Potential is the energy change that occurs when the position of an object changes \cite{potential}. There are many potentials, like electric potential, gravitational potential and elastic potential. Let me explain the concept with an example. Say you are walking on a set of stairs in the upwards direction. As your muscles move to bring you one step upwards, energy that is used by your muscles is converted into gravitational potential. Now imagine you turn around and go downwards instead. Notice how that is easier? That is due to the gravitational potential being -converted back into energy so your muscles have to deliver less energy to get you down. The potential is usually tied to a force, like the gravitational force. - -\subsection{Laplacian Operator} \label{sec:laplace} -The Laplacian operator ($\nabla^2$, sometimes also seen as $\Delta$) has two definitions, one for a vector field and one for a scalar field. The two concepts are not indpendent, a vector field -is composed of scalar fields \cite{vectorscalarfields}. Let us define a vector field first. A vector field is a function whose domain and range are a subset of the Eucledian $\mathbb{R}^3$ space. -A scalar field is then a function consisting out of several real variables (meaning that the variables can only take real numbers as valid values). So for instance the circle equation -$x^2 + y^2 = r^2$ is a scalar field as $x, y$ and $r$ are only allowed to take real numbers as their values. - -With the vector and scalar fields defined, let us take a look at the Laplacian operator. For a scalar field $\phi$ the laplacian operator is defined as the divergence of the gradient of $\phi$ -\cite{laplacian}. But what are the divergence and gradient? The gradient is defined in \autoref{eq:gradient} and the divergence is defined in \autoref{eq:divergence}. Here $\phi$ is a vector -with components $x, y, z$ and $\Phi$ is a vector field with components $x, y, z$. $\Phi_1, \Phi_2$ and $\Phi_3$ refer to the functions that result in the corresponding $x, y$ and $z$ values -\cite{vectorscalarfields}. Also, $i, j$ and $k$ are the basis vectors of $\mathbb{R^3}$, and the multiplication of each term with their basis vector results in $\Phi_1, \Phi_2$ and $\Phi_3$ -respectively. If we then combine the two we get the Laplacian operator, as in \autoref{eq:laplacian scalar}. - -\begin{subequations} - \begin{equation} - \text{grad } \phi = \nabla \phi = \frac{\delta \phi}{\delta x}i + \frac{\delta \phi}{\delta y}j + \frac{\delta \phi}{\delta z}k - \label{eq:gradient} - \end{equation} - \begin{equation} - \text{div} \Phi = \nabla \cdot \Phi = \frac{\delta \Phi_1}{\delta x} + \frac{\delta \Phi_2}{\delta y} + \frac{\delta \Phi_3}{\delta z} - \label{eq:divergence} - \end{equation} - \begin{equation} - \nabla^2 \phi = \nabla \cdot \nabla \phi = \frac{\delta^2 \phi}{\delta x^2} + \frac{\delta^2 \phi}{\delta y^2} + \frac{\delta^2 \phi}{\delta z^2} - \label{eq:laplacian scalar} - \end{equation} -\end{subequations} - -For a vector field $\Phi$ the Laplacian operator is defined as in \autoref{eq:laplacian vector}. Which essential boils down to taking the Laplacian operator of each function and multiply it by -the basis vector. - -\begin{equation} - \nabla^2 \Phi = (\nabla^2 \Phi_1)i + (\nabla^2 \Phi_2)j + (\nabla^2 \Phi_3)k - \label{eq:laplacian vector} -\end{equation} - -\subsection{Interpolation} \label{sec:interpolation} -Interpolation is a form of estimation, where one has a set of data points and desires to know the values of other data points that are not in the original set of data points\cite{interpolation}. -Based on the original data points, it is estimated what the values of the new data points will be. There are various forms of interpolation like linear interpolation, polynomial interpolation -and spline interpolation. The CLAuDE model uses linear interpolation which is specified in \autoref{eq:interpolation}. Here $z$ is the point inbetween the known data points $x$ and $y$. -$\lambda$ is the factor that tells us how close $z$ is to $y$ in the interval $[0, 1]$. If $z$ is very close to $y$, $\lambda$ will have the value on the larger end of the interval, like 0.9. -Whereas if $z$ is close to $x$ then $\lambda$ will have a value on the lower end of the interval, like 0.1. - -\begin{equation} - z = (1 - \lambda)x + \lambda y - \label{eq:interpolation} -\end{equation} \ No newline at end of file +converted back into energy so your muscles have to deliver less energy to get you down. The potential is usually tied to a force, like the gravitational force. \ No newline at end of file diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex new file mode 100644 index 0000000..e69de29 diff --git a/tex-docs/topics/control_panel.tex b/tex-docs/topics/control_panel.tex new file mode 100644 index 0000000..1e4ebd9 --- /dev/null +++ b/tex-docs/topics/control_panel.tex @@ -0,0 +1,104 @@ +\section{Control Panel} \label{sec:cp} +Before we dive in an start modelling the planet, let us first set up a control panel that will influence how the model will behave and effectively decides what type of planet we model. + +\subsection{The Beginning} +In the beginning there was nothing, and then there was "Hello World!" Or at least that is how many projects start. Why? you might ask, which is a perfectly valid question. In Computer Science, +"Hello World!" is very simple code that we use to test whether all the tools we need to get coding works. This checks whether the computer compiles the code and is able to execute it and whether +the code editor (IDE, Integrated Development Environment) starts the right processes to get the code compiled and executed. Oh right we were talking about CLAuDE, ahem. + +Every project must have its beginning. And with CLAuDE I made the decision to start explaining the Control Panel first. This is to get you familiar with notation and to lay down some basics. To +do that we start with the fixed part of the Control Panel, the physical constants. Many things vary from planet to planet, how much radiation they receive from their star, how strong their +gravity is, how fast they spin around their axis and many many more. What does not change are the physical constants, well because they are constant. The Stefan-Boltzmann constant for instance +does not change. Whether you are on Earth, in space or on Jupiter, the value of the Stefan-Boltzmann constant will remain the same. + +The Stefan-Boltzmann constant is denoted by $\sigma$ and has a value of $5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann}. The $\sigma$ is a greek letter called sigma. Greek +letters are often used in mathematics, as well as in physics or any other discipline that relies on maths (spoiler alert, quite a lot). Treat it like a normal letter in maths, representing a +number that you either do not know yet or is too long or cumbersome to write down every time. The Stefan-Boltzmann constant is denoted in scientific notation, a number followed by the order of +magnitude. It is denoted as a multiplication, because that is what you have to do to get the real number. An example: $4.3 \cdot 10^2 = 430$ and $4.3 \cdot 10^{-2} = 0.043$. The +letters behind the numbers are units, how we give meaning to the numbers. If I say that I am $1.67$ does not mean anything. Do I mean inches, centimeters, meters, miles? That is why we need units +as they give meaning to the number. they tell us whether the number is talking about speed, distance, time, energy and many other things. In this manual we will use SI units. Behind all the +letters you will find the following: [number]. This is a citation, a reference to an external source where you can check whether I can still read. If I pull a value out somewhere I will insert a +citation to show that I am not making these numbers up. This is what scientists use to back up their claims if they do not want to redo the work that others have done. I mean what is the point +of re-inventing the wheel if there is a tyre company next door? That is why scientists citate. + +So with that out of the way, let us write down some constants. Why do I do this here? Because a lot of constants are used everywhere and I am too lazy to relicate them every time. If you see a +letter or symbol that is not explicitly explained, then it is most likely a constant that we discuss here in the control panel. + +\subsection{Physical Constants} +As mentioned before, physical constants do not change based on where you are in the universe. Below you will find an overview of all the relevant constants together with their units. And a short +explanation where they are used or what they represent. To see them in action, consult the other sections of this manual, you will find them in equations all throughout this document. + +\subsubsection{The Gas Constant} +The Gas constant, $R = 8.3144621$ ($J(mol)^{-1}K$) \cite{idealGas} is the constant used to relate the temperature of the gas to the pressure and the volume. One would expect this constant to be +different per gas, but under high enough temperatures and low enough pressure the gas constant is the same for all gases. + +\subsubsection{The Specific Heat Capacity} +The specific heat capacity $c$ depicts how much energy is required to heat the object by one degree Kelvin per unit mass ($\frac{J}{Kg \cdot K}$) \cite{specificHeat}. This varies per material +and is usually indicated by a subscript. The specific heat capacity for water for instance is $c_w = 4190 JKg^{-1}K^{-1}$. Specific heat capacities also exist in the form of $Jg^{-1}K^{-1}$, +$Jmol^{-1}K^{-1}$ and $Jcm^{-3}K^{-1}$ which you can use in various circumstances, depending on what information you have. + +\subsubsection{Mole} +Mole is the amount of particles ($6.02214076 \cdot 10^{23}$) in a substance, where the average weight of one mole of particles in grams is about the same as the weight of one particle in atomic +mass units ($u$)\cite{mole}. This is not a physical constant perse, but more like a unit ($mol$). Though it is still important enough to be added here for future reference. All other units are +way more intuitive and are assumed to be known. + +\subsubsection{The Stefan-Boltzmann Constant} +The Stefan-Boltzmann constant, $\sigma = 5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann} is used in the Stefan-Boltzmann law (more on that in %insert reference here). + +\subsection{Planet Specific Variables} +The following set of variables vary per planet, that's why we call them variables since they vary. Makes sense right? We add them here as we will use them throughout the manual. The advantage +of that is quite significant. If you want to test things for a different planet, you only need to change the values in one place, instead of all places where you use it. If there is one thing +that we computer scientists hate is doing work, we like being lazy and defining things in one place means that we can be lazy if we need to change it. So we put in the extra work now, so we do +not have to do the extra work in the future. That's actually a quite accurate description of computer scientists, doing hard work so that they can be lazy in the future. + +\subsubsection{The Passage of Time} +On Earth we have various indications of how much time has passed. While most of them remain the same throughout the universe, like seconds, minutes and hours, others vary throughout the universe, +like days, months and years. Here we specify how long the variable quantities of time are for the planet we want to consider as they are used in the code. This can be seen in +\autoref{alg:time constants}. Here a $\leftarrow$ indicates that we assign a value to the variable name before it, so that we can use the variable name in the code instead of the value, which +has the advantage I indicated before. // means that we start a comment, which is text that the code ignores and does not tell the cpu about. Not that the cpu would understand it, but that just +means less work for the computer. Yes computers are lazy too. + +\begin{algorithm*} + \caption{Definition of how much time it takes for a day and a year on a planet and how much time on the planet passes before we start another calculation run} + \label{alg:time constants} + \SetKwComment{Comment}{//}{} + $day \leftarrow 60*60*24$ \Comment*[l]{Length of one day in seconds ($s$)} + $year \leftarrow 365*day$ \Comment*[l]{Length of one year in seconds ($s$)} + $\delta t \leftarrow 60 * 9$ \Comment*[l]{How much time is between each calculation run in seconds ($s$)} +\end{algorithm*} + +\subsubsection{The Planet Passport} +Each planet is different, so why should they all have the same gravity? Oh wait, they don't. Just as they are not all the same size, tilted as much and their atmospheres differ. So here we define +all the relevant variables that are unique to a planet, or well not necessarily unique but you get the idea. This can all be found in \autoref{alg:planet constants}. + +\begin{algorithm} + \caption{Defining the constants that are specific to a planet} + \label{alg:planet constants} + \SetKwComment{Comment}{//}{} + $g \leftarrow 9.81$ \Comment*[l]{Magnitude of gravity on the planet in $ms^{-2}$} + $\alpha \leftarrow -23.5$ \Comment*[l]{By how many degrees the planet is tilted with respect to the star's plane} + $top \leftarrow 50*10^3$ \Comment*[l]{How high the top of the atmosphere is with respect to the planet surface in meters ($m$)} + $ins \leftarrow 1370$ \Comment*[l]{Amount of energy from the star that reaches the planet per unit area ($Jm^{-2}$)} + $\epsilon \leftarrow 0.75$ \Comment*[l]{Absorbtivity of the atmosphere, fraction of how much of the total energy is absorbed (unitless)} + %$R \leftarrow 6.4*10^6$ \Comment*[l]{The radius of the planet in meters ($m$)} +\end{algorithm} + +\subsubsection{Model Specific Parameters} +These parameters cannot be found out in the wild, they only exist within our model. They control things like the size of a cell on the latitude longitude grid (more on that in later sections), +how much time the model gets to spin up. We need the model to spin up in order to avoid numerical instability. Numerical instability occurs when you first run the model. This is due to the nature of the equations. Nearly all equations are continuous, which means that they are always at work. However +when you start the model, the equations were not at work yet. It is as if you suddenly give a random meteor an atmosphere, place it in orbit around a star and don't touch it for a bit. You will +see that the whole system oscilates wildly as it adjusts to the sudden changes and eventually it will stabilise. We define the amount of time it needs to stabilise as the spin up time. All +definitions can be found in \autoref{alg:model constants}. What the $adv$ boolean does is enabling or disabling advection, a process described in
which does not work yet. + +\begin{algorithm} + \caption{Defining the paramters that only apply to the model} + \label{alg:model constants} + \SetKwComment{Comment}{//}{} + $resolution \leftarrow 3$ \Comment*[l]{The amount of degrees on the latitude longitude grid that each cell has, with this setting each cell is 3 degrees latitude high and 3 degrees + longitude wide} + $nlevels \leftarrow 10$ \Comment*[l]{The amount of layers in the atmosphere} + $\delta t_s \leftarrow 60*137$ \Comment*[l]{The time between calculation rounds during the spin up period in seconds ($s$)} + $t_s \leftarrow 5*day$ \Comment*[l]{How long we let the planet spin up in seconds ($s$)} + $adv \leftarrow \texttt{FALSE}$ \Comment*[l]{Whether we want to enable advection or not} + $adv\_boun \leftarrow 8$ \Comment*[l]{How many cells away from the poles where we want to stop calculating the effects of advection} +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/streams/Stream1.tex b/tex-docs/topics/radiation.tex similarity index 55% rename from tex-docs/streams/Stream1.tex rename to tex-docs/topics/radiation.tex index e0d1a2a..8e05aa1 100644 --- a/tex-docs/streams/Stream1.tex +++ b/tex-docs/topics/radiation.tex @@ -1,19 +1,18 @@ -\section{The Beginning} +\section{Radiation} \subsection{The First Law of Thermodynamics and the Stefan-Boltzmann Equation} -The beginning of CLAuDE is based upon one of the most important laws of physics: "Energy is neither created nor destroyed, only changed from one form to another." In otherwords, if energy goes into an object it must -equal the outflowing energy plus the change of internal energy. This is captured in Stefan-Boltzmann's law (\autoref{eq:stefan-boltzmann}) \cite{stefan-boltzmann}. +The beginning of CLAuDE is based upon one of the most important laws of physics: "Energy is neither created nor destroyed, only changed from one form to another." In otherwords, if energy goes +into an object it must equal the outflowing energy plus the change of internal energy. This is captured in Stefan-Boltzmann's law (\autoref{eq:stefan-boltzmann}) \cite{stefan-boltzmann}. Here we assume that the planet is a black body, i.e. it absorbs all radiation (energy waves, some waves are visible like light, others are invisible like radio signals) on all wavelengths. In \autoref{eq:stefan-boltzmann} the symbols are: \begin{itemize} - \item $S$: The energy that reaches the top of the atmosphere, coming from the sun or a similar star, per meters squared $Jm^{-2}$. This is also called the insolation. + \item $S$: The energy that reaches the top of the atmosphere, coming from the sun or a similar star, per second per meters squared $Wm^{-2}$. This is also called the insolation. \item $\sigma$: The Stefan-Boltzmann constant, $5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann}. \item $T$: The temperature of the planet ($K$). \end{itemize} -Technically speaking \autoref{eq:stefan-boltzmann} is incorrect, as there is a mismatch in units. However, that is corrected in \autoref{eq:basis sphere final} so there is no need to worry about -it just yet. The energy difference between the energu that reaches the atmosphere and the temperature of the planet must be equal to the change in temperature of the planet, which is written in +The energy difference between the energy that reaches the atmosphere and the temperature of the planet must be equal to the change in temperature of the planet, which is written in \autoref{eq:sb rewritten}. The symbols on the right hand side are: \begin{itemize} @@ -22,8 +21,9 @@ it just yet. The energy difference between the energu that reaches the atmospher \item $\Delta T$: The change in temperature ($K$). \end{itemize} -We want to know the change of temperature $\Delta T$, so we rewrite the equation into \autoref{eq:sb rewritten2}. Here we added the $\delta t$ term to account for the time difference (or time step). This is needed as -we need an interval to calculate the difference in temperature over. Also we needed to make the units match, and by adding this time step the units all match up perfectly. +We want to know the change of temperature $\Delta T$, so we rewrite the equation into \autoref{eq:sb rewritten2}. Here we added the $\delta t$ term to account for the time difference (or time +step). This is needed as we need an interval to calculate the difference in temperature over. Also we need to get the energy that we get ($J$) and not the energy per second ($W$), and by adding +this time step the units all match up perfectly. \begin{subequations} \begin{equation} @@ -122,52 +122,50 @@ Pseudocode is a representation of real code. It is meant to be an abstraction of it in their language of preference. This is usually easier to read than normal code, but more difficult to read than mathematical formulae. If you are unfamiliar with code or coding, look up a tutorial online as there are numerous great ones. -The pseudocode in \autoref{alg:stream1v1} defines the main loop of the model. All values are initialised beforehand, based on either estimations, trial and error or because they are what they -are (like the Stefan-Boltzmann constant $\sigma$). The total time $t$ starts at 0 and increases by $\delta t$ after every update of the temperature. This is to account for the total time that -the model has simulated (and it is also used later). What you may notice is the $T_p[lan, lon]$ notation. This is to indicate that $T_p$ saves a value for each $lan$ and $lon$ combination. -It is initialised as all zeroes for each index pair, and the values is changed based on the calculations. You can view $T_p$ like the whole latitude longitude grid, where $T_p[lat, lon]$ is an -individual cell of that grid indexed by a specific latitude longitude combination. +The pseudocode in \autoref{alg:stream1v1} defines the main function of the radiation part of the model. All values are initialised beforehand, based on either estimations, trial and error or +because they are what they are (like the Stefan-Boltzmann constant $\sigma$), which is all done in \autoref{sec:cp}. The total time $t$ starts at 0 and increases by $\delta t$ after every +update of the temperature. This is to account for the total time that the model has simulated (and it is also used later). What you may notice is the $T_p[lan, lon]$ notation. This is to indicate +that $T_p$ saves a value for each $lan$ and $lon$ combination. It is initialised as all zeroes for each index pair, and the values is changed based on the calculations. You can view $T_p$ like +the whole latitude longitude grid, where $T_p[lat, lon]$ is an individual cell of that grid indexed by a specific latitude longitude combination. Do note that from here on most, if not all +functions need to be called \footnote{In case you are unfamiliar with calls, defining a function is defining how it works and calling a function is actually using it.} from another file which I +will call the master. The master file decides what parts of the model to use, what information it uses for plots and the like. We do it this way because we want to be able to switch out +calculations. Say that I find a more efficient way, or more detailed way, to calculate the temperature change. If everything was in one file, then I need to edit the source code of the project. +With the master file structure, I can just swap out the reference to the project's implementation with a reference to my own implementation. This makes the life of the user (in this case the +programmer who has another implementation) easier and makes changing calculations in the future easier as well. Also note that what we pass on as parameters \footnote{Parameters are variables +that a function can use but are defined elsewhere. The real values of the variables are passed on to the funciton in the call.} in \autoref{alg:stream1v1} are the +things that change during the execution of the model or that are calculated beforehand and not constants. $S$ for instance is not constant (well at this point it is but in \autoref{sec:daynight} +we change that) amd the current time is obviously not constant. All constants can be found in \autoref{sec:cp}. \begin{algorithm}[hbt] \SetAlgoLined - $\delta t \leftarrow 60 \cdot 5$ \; - $\sigma \leftarrow 5.67 \cdot 10^{-8}$ \; - $\epsilon \leftarrow 0.75$ \; - $C_p \leftarrow 10^7$ \; - $C_a \leftarrow 10^6$ \; - $S \leftarrow 1370$ \; - $R \leftarrow 6.4 \cdot 10^6$ \; - $t \leftarrow 0$ \; - - \While{\texttt{TRUE}}{ - \For{$lat \in [-90, 90]$}{ - \For{$lon \in [0, 360]$}{ - $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; - $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; - $t \leftarrow t + \delta t$ \; - } + \SetKwInput{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{time $t$, amount of energy that hits the planet $S$} + \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} + \For{$lat \in [-90, 90]$}{ + \For{$lon \in [0, 360]$}{ + $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; + $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; } } - \caption{The main loop of the temperature calculations} + \caption{The main function of the temperature calculations} \label{alg:stream1v1} \end{algorithm} -\subsection{Day/Night Cycle} -As you can see, the amount of energy that reaches the atmopsphere is constant. However this varies based on the position of the sun relative to the planet. To fix this, we have to assign a function -to $S$ that gives the correct amount of energy that lands on that part of the planet surface. This is done in \autoref{alg:solar}. In this algorithm the term insolation is mentioned, which is $S$ -used in the previous formulae if you recall. We use the $\cos$ function here to map the strength of the sun to a number between $0$ and $1$. The strength is dependent on the latitude, but since -that is in degrees and we need it in radians we transform it to radians by multiplying it by $\frac{\pi}{180}$. This function assumes the sun is at the equinox (center of the sun is directly -above the equator) \cite{equinox} at at all times. The second $\cos$ is needed to simulate the longitude that the sun has moved over the longitude of the equator. For that we need the difference -between the longitude of the point we want to calculate the energy for, and the longitude of the sun. The longitude of the sun is of course linked to the current time (as the sun is in a different\ -position at 5:00 than at 15:00). So we need to map the current time in seconds to the interval $[0,$ seconds in a day$]$. Therefore we need the mod function. The mod function works like this: -$x$ mod $y$ means subtract all multiples of $y$ from $x$ such that $0 \leq x < y$. So to map the current time to a time within one day, we do $t$ mod $d$ where $t$ is the current time and $d$ is -the amount of seconds in a day. When we did the calculation specified in \autoref{alg:solar} we return the final value (which means that the function call is "replaced" \footnote{Replaced is not -necessarily the right word, it is more like a mathematical function $f(x)$ where $y = f(x)$. You give it an $x$ and the value that correpsonds to that $x$ is saved in $y$. So you can view the -function call in pseudocode as a value that is calculated by a different function which is then used like a regular number.} by the value that the function calculates). If the final value is less -than 0, we need to return 0 as the sun cannot suck energy out of the planet (that it does not radiate itself, which would happen if a negative value is returned). - -In the second stream, it was revealed that $t$ mod $d$ in \autoref{alg:solar} should be $-t$ mod $d$ such that the sun moves in the right direction. In the first stream the sun would move to the -right (west to east), however the sun moves to the left (east to west) and so the time must be flipped in order for the model to be correct. +\subsection{Day/Night Cycle} \label{sec:daynight} +As you can see, the amount of energy that reaches the atmopsphere is constant. However this varies based on the position of the sun relative to the planet. To fix this, we have to assign a +function to $S$ that gives the correct amount of energy that lands on that part of the planet surface. This is done in \autoref{alg:solar}. In this algorithm the term insolation is mentioned, +which is $S$ used in the previous formulae if you recall. We use the $\cos$ function here to map the strength of the sun to a number between $0$ and $1$. The strength is dependent on the latitude, +but since that is in degrees and we need it in radians we transform it to radians by multiplying it by $\frac{\pi}{180}$. This function assumes the sun is at the equinox (center of the sun is +directly above the equator) \cite{equinox} at at all times. The second $\cos$ is needed to simulate the longitude that the sun has moved over the longitude of the equator. For that we need the +difference between the longitude of the point we want to calculate the energy for, and the longitude of the sun. The longitude of the sun is of course linked to the current time (as the sun is +in a different position at 5:00 than at 15:00). So we need to map the current time in seconds to the interval $[0,$ seconds in a day$]$. Therefore we need the mod function. The mod function +works like this: $x$ mod $y$ means subtract all multiples of $y$ from $x$ such that $0 \leq x < y$. So to map the current time to a time within one day, we do $-t$ mod $d$ where $-t$ is the +current time and $d$ is the amount of seconds in a day. We need $-t$ as this ensures that the sun moves in the right direction, with $t$ the sun would move in the opposite direction in our model +than how it would move in real life. When we did the calculation specified in \autoref{alg:solar} we return the final value (which means that the function call is "replaced" +\footnote{Replaced is not necessarily the right word, it is more like a mathematical function $f(x)$ where $y = f(x)$. You give it an $x$ and the value that correpsonds to that $x$ is saved in +$y$. So you can view the function call in pseudocode as a value that is calculated by a different function which is then used like a regular number.} by the value that the function calculates). +If the final value is less than 0, we need to return 0 as the sun cannot suck energy out of the planet (that it does not radiate itself, which would happen if a negative value is returned). \begin{algorithm}[hbt] \SetAlgoLined @@ -187,42 +185,20 @@ right (west to east), however the sun moves to the left (east to west) and so th \end{algorithm} By implementing \autoref{alg:solar}, \autoref{alg:stream1v1} must be changed as well, as $S$ is no longer constant for the whole planet surface. So let us do that in \autoref{alg:stream1v2}. Note -that $S$ is defined as the call to \autoref{alg:solar} (as is showcased by the text \texttt{solar}). In case you are unfamiliar with calls, defining a function is defining how it works and -calling a function is actually using it. - +that $S$ is defined as the call to \autoref{alg:solar}. \begin{algorithm}[hbt] \SetAlgoLined - $\delta t \leftarrow 60 \cdot 5$ \; - $\sigma \leftarrow 5.67 \cdot 10^{-8}$ \; - $\epsilon \leftarrow 0.75$ \; - $C_p \leftarrow 10^7$ \; - $C_a \leftarrow 10^7$ \; - $I \leftarrow 1370$ \; - $R \leftarrow 6.4 \cdot 10^6$ \; - $t \leftarrow 0$ \; - $day \leftarrow 60 \cdot 60 \cdot 24$ \; - $S \leftarrow$ \texttt{solar($I$, $lat$, $lon$, $t$, $day$)} \; - $nlat$ is the amount of latitude points in the interval $[0, 90]$, how you divide them is your own choice. \; - $nlot$ is the amount of longitude points in the interval $[0, 360]$, how you divide them is your own choice. \; + \SetKwInput{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{time $t$, amount of energy that hits the planet $S$} + \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ - $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; - $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; - $t \leftarrow t + \delta t$ \; - } + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlot]$}{ + $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; + $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; } } - \caption{The main loop of the temperature calculations} + \caption{The main function of the temperature calculations} \label{alg:stream1v2} -\end{algorithm} - -\autoref{alg:stream1v2} calculates the values that are plotted (which is not discussed here as that is Python specific). Due to the \texttt{WHILE(TRUE)} loop, this calculation never finishes and -allows us to simulate days, weeks, months and even years of heat exchange all conveniently plotted in a graph. In Simon's implementation, the graphs update in realtime, meaning that whenever a -round of calculations has finished, they are immediately processed to be displayed in the graph. - -However other forms of looking at the calculated data can be implemented, like writing a table to a txt file, saving the generated grpahs at a certain interval or spewing all the data into a csv -dataset. The possibilities are endless, and the whole goal of the model is for it to be modular. Meaning that if you want to do something with it (like have a multi-layered atmosphere instead of -a single layer atmosphere) you can just write some lines of code and run the model and it should still work. Therefore you can write your own extensions of the model to fit it to your needs and -requirements. \ No newline at end of file +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex new file mode 100644 index 0000000..183813d --- /dev/null +++ b/tex-docs/topics/util_funcs.tex @@ -0,0 +1,192 @@ +\section{Utility Functions} +With the control panel defined and explained, let us move over to some utility functions. Functions that can be used in all kinds of calculations, which we might need more often. In general it +concerns functions like calculating the gradient, the lacplacian or interpolation. + +\subsection{Gradients} +Let us define the gradient in the $x, y$ and $z$ directions. The functions can be found in \autoref{alg:gradient x}, \autoref{alg:gradient y} and \autoref{alg:gradient z}. We use these functions +in various other algorithms as the gradient (also known as derivative) is often used in physics. It denotes the rate of change, how much something changes over time. Velocity for instance denotes +how far you move in a given time. Which is a rate of change, how much your distance to a given point changes over time. + +In \autoref{alg:gradient z} $a.dimensions$ is the attribute that tells us how deeply nested the array $a$ is. If the result is $1$ we have just a normal array, if it is $2$ we have a double array +(an array at each index of the array) which is also called a matrix and if it is $3$ we have a triple array. We need this because we have a one-dimensional case, for when we do not use multiple +layers and a three-dimensional case for when we do use multiple layers. This distinction is needed to avoid errors being thrown when running the model with one or multiple layers. + +This same concept can be seen in \autoref{alg:gradient x} and \autoref{alg:gradient y}, though here we check if $k$ is defined or \texttt{NULL}. We do this as sometimes we want to use this +function for matrices that does not have the third dimension. Hence we define a default value for $k$ which is \texttt{NULL}. \texttt{NULL} is a special value in computer science. It represents +nothing. This can be useful sometimes if you declare a variable to be something but it is referring to something that has been deleted or it is returned when some function fails. It usually +indicates that something special is going on. So here we use it in the special case where we do not want to consider the third dimension in the gradient. We also use forward differencing +(calculating the gradient by taking the difference of the cell and the next/previous cell, multiplied by $2$ to keep it fair) in \autoref{alg:gradient y} as that gives better results for the +calculations we will do later on. + +\begin{algorithm}[hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} + \Output{Gradient in the $x$ direction} + \eIf{$k == \texttt{NULL}$}{ + $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon] - a[i, (j - 1) \text{ mod } nlon]}{\delta x[i]}$ \; + }{ + $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon, k] - a[i, (j - 1) \text{ mod } nlon, k]}{\delta x[i]}$ \; + } + \Return{$grad$} \; + \caption{Calculating the gradient in the $x$ direction} + \label{alg:gradient x} +\end{algorithm} + +\begin{algorithm}[hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} + \Output{Gradient in the $y$ direction} + \eIf{$k == \texttt{NULL}$}{ + \uIf{$i == 0$}{ + $grad \leftarrow 2 \frac{a[i + 1, j] - a[i, j]}{\delta y}$ \; + }\uElseIf{$i == nlat - 1$}{ + $grad \leftarrow 2 \frac{a[i, j] - a[i - 1, j]}{\delta y}$ \; + }\uElse{ + $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; + } + }{ + \uIf{$i == 0$}{ + $grad \leftarrow 2 \frac{a[i + 1, j, k] - a[i, j, k]}{\delta y}$ \; + }\uElseIf{$i == nlat - 1$}{ + $grad \leftarrow 2 \frac{a[i, j, k] - a[i - 1, j, k]}{\delta y}$ \; + }\uElse{ + $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; + } + } + \Return $grad$ \; + \caption{Calculating the gradient in the $y$ direction} + \label{alg:gradient y} +\end{algorithm} + +\begin{algorithm}[hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$} + \Output{Gradient in the $z$ direction} + \uIf{$a.dimensions == 1$}{ + \uIf{$k == 0$}{ + $grad \leftarrow \frac{a[k + 1] - a[k]}{\delta z[k]}$ \; + }\uElseIf{$k == nlevels - 1$}{ + $grad \leftarrow \frac{a[k] - a[k - 1]}{\delta z[k]}$ \; + }\uElse{ + $grad \leftarrow \frac{a[k + 1] - a[k - 1]}{2\delta z[k]}$ \; + } + } \uElse { + \uIf{$k == 0$}{ + $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k]}{\delta z[k]}$ \; + }\uElseIf{$k == nlevels - 1$}{ + $grad \leftarrow \frac{a[i, j, k] - a[i, j, k - 1]}{\delta z[k]}$ \; + }\uElse{ + $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k - 1]}{2\delta z[k]}$ \; + } + } + + \Return $grad$ \; + \caption{Calculating the gradient in the $z$ direction} + \label{alg:gradient z} +\end{algorithm} + +\subsection{Laplacian Operator} \label{sec:laplace} +The Laplacian operator ($\nabla^2$, sometimes also seen as $\Delta$) has two definitions, one for a vector field and one for a scalar field. The two concepts are not indpendent, a vector field +is composed of scalar fields \cite{vectorscalarfields}. Let us define a vector field first. A vector field is a function whose domain and range are a subset of the Eucledian $\mathbb{R}^3$ space. +A scalar field is then a function consisting out of several real variables (meaning that the variables can only take real numbers as valid values). So for instance the circle equation +$x^2 + y^2 = r^2$ is a scalar field as $x, y$ and $r$ are only allowed to take real numbers as their values. + +With the vector and scalar fields defined, let us take a look at the Laplacian operator. For a scalar field $\phi$ the laplacian operator is defined as the divergence of the gradient of $\phi$ +\cite{laplacian}. But what are the divergence and gradient? The gradient is defined in \autoref{eq:gradient} and the divergence is defined in \autoref{eq:divergence}. Here $\phi$ is a vector +with components $x, y, z$ and $\Phi$ is a vector field with components $x, y, z$. $\Phi_1, \Phi_2$ and $\Phi_3$ refer to the functions that result in the corresponding $x, y$ and $z$ values +\cite{vectorscalarfields}. Also, $i, j$ and $k$ are the basis vectors of $\mathbb{R^3}$, and the multiplication of each term with their basis vector results in $\Phi_1, \Phi_2$ and $\Phi_3$ +respectively. If we then combine the two we get the Laplacian operator, as in \autoref{eq:laplacian scalar}. + +\begin{subequations} + \begin{equation} + \text{grad } \phi = \nabla \phi = \frac{\delta \phi}{\delta x}i + \frac{\delta \phi}{\delta y}j + \frac{\delta \phi}{\delta z}k + \label{eq:gradient} + \end{equation} + \begin{equation} + \text{div} \Phi = \nabla \cdot \Phi = \frac{\delta \Phi_1}{\delta x} + \frac{\delta \Phi_2}{\delta y} + \frac{\delta \Phi_3}{\delta z} + \label{eq:divergence} + \end{equation} + \begin{equation} + \nabla^2 \phi = \nabla \cdot \nabla \phi = \frac{\delta^2 \phi}{\delta x^2} + \frac{\delta^2 \phi}{\delta y^2} + \frac{\delta^2 \phi}{\delta z^2} + \label{eq:laplacian scalar} + \end{equation} +\end{subequations} + +For a vector field $\Phi$ the Laplacian operator is defined as in \autoref{eq:laplacian vector}. Which essential boils down to taking the Laplacian operator of each function and multiply it by +the basis vector. + +\begin{equation} + \nabla^2 \Phi = (\nabla^2 \Phi_1)i + (\nabla^2 \Phi_2)j + (\nabla^2 \Phi_3)k + \label{eq:laplacian vector} +\end{equation} + +The new code can be found in \autoref{alg:laplacian}. $\Delta_x$ and $\Delta_y$ in \autoref{alg:laplacian} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} +respectively. + +\begin{algorithm}[hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{A matrix (double array) a} + \Output{A matrix (double array) with results for the laplacian operator for each element} + \eIf{$a.dimensions == 2$}{ + \For{$lat \in [1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + $output[lat, lon] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon)}{\delta x[lat]} + \frac{\Delta_y(a, lat + 1, lon) - + \Delta_y(a, lat - 1, lon)}{\delta y}$\; + } + } + }{ + \For{$lat \in [1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + \For{$k \in [0, nlevels - 1]$}{ + $output[lat, lon, k] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon, k) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon, k)}{\delta x[lat]} + \frac{\Delta_y(a, + lat + 1, lon, k) - \Delta_y(a, lat - 1, lon, k)}{\delta y} + \frac{\Delta_z(a, lat, lon, k + 1) - \Delta_z(a, lat, lon, k + 1)}{2\delta z[k]}$\; + } + } + } + } + + \Return{$ouput$} \; + \caption{Calculate the laplacian operator over a matrix a} + \label{alg:laplacian} +\end{algorithm} + +\subsection{Divergence} +As we expect to use the divergence operator more often throughout our model, let us define a seperate function for it in \autoref{alg:divergence}. $\Delta_x$ and $\Delta_y$ in +\autoref{alg:divergence} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} respectively. We do the multiplication with the velocity vectors $u, v$ and $w$ here already, +as we expect that we might use it in combination with the divergence operator more frequently. What those vectors are and represent we will discuss in %insert velocity reference here + +\begin{algorithm}[!hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{A matrix (double array) $a$} + \Output{A matrix (double array) containing the result of the divergence operator taken over that element} + $dim_1 \leftarrow \text{ Length of } a \text{ in the first dimension}$ \; + \For{$i \in [0, dim_1]$}{ + $dim_2 \leftarrow \text{ Length of } a \text{ in the second dimension (i.e. the length of the array stored at index } i)$ \; + \For{$j \in [0, dim_2]$}{ + $dim_3 \leftarrow \text{ Length of } a \text{ in the third dimension}$ \; + \For{$k \in [0, dim_3]$}{ + $output[i, j, k] \leftarrow \Delta_x(au, i, j, k) + \Delta_y(av, i, j, k) + \Delta_z(aw, i, j, k)$ \; + } + } + } + \Return{$output$} \; + \caption{Calculate the result of the divergence operator on a vector} + \label{alg:divergence} +\end{algorithm} + +\subsection{Interpolation} \label{sec:interpolation} +Interpolation is a form of estimation, where one has a set of data points and desires to know the values of other data points that are not in the original set of data points\cite{interpolation}. +Based on the original data points, it is estimated what the values of the new data points will be. There are various forms of interpolation like linear interpolation, polynomial interpolation +and spline interpolation. The CLAuDE model uses linear interpolation which is specified in \autoref{eq:interpolation}. Here $z$ is the point inbetween the known data points $x$ and $y$. +$\lambda$ is the factor that tells us how close $z$ is to $y$ in the interval $[0, 1]$. If $z$ is very close to $y$, $\lambda$ will have the value on the larger end of the interval, like 0.9. +Whereas if $z$ is close to $x$ then $\lambda$ will have a value on the lower end of the interval, like 0.1. + +\begin{equation} + z = (1 - \lambda)x + \lambda y + \label{eq:interpolation} +\end{equation} \ No newline at end of file diff --git a/tex-docs/topics/velocity.tex b/tex-docs/topics/velocity.tex new file mode 100644 index 0000000..e69de29 From e17e66b6390fffd4ee3afb80d087489bbafb435a Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Sat, 5 Sep 2020 09:37:27 +0200 Subject: [PATCH 02/17] Rewritten more stuff. Finished up to stream 4 so still 6 streams to go --- tex-docs/CLAuDE.tex | 12 +- tex-docs/streams/Stream2.tex | 231 ---------------------------- tex-docs/streams/Stream3.tex | 232 ---------------------------- tex-docs/streams/Stream4.tex | 83 ---------- tex-docs/topics/advection.tex | 114 ++++++++++++++ tex-docs/topics/master.tex | 43 ++++++ tex-docs/topics/radiation.tex | 79 +++++++++- tex-docs/topics/util_funcs.tex | 4 +- tex-docs/topics/velocity.tex | 269 +++++++++++++++++++++++++++++++++ 9 files changed, 507 insertions(+), 560 deletions(-) delete mode 100644 tex-docs/streams/Stream2.tex delete mode 100644 tex-docs/streams/Stream3.tex delete mode 100644 tex-docs/streams/Stream4.tex create mode 100644 tex-docs/topics/master.tex diff --git a/tex-docs/CLAuDE.tex b/tex-docs/CLAuDE.tex index 156468c..889d464 100644 --- a/tex-docs/CLAuDE.tex +++ b/tex-docs/CLAuDE.tex @@ -49,12 +49,6 @@ particular stream is missing in the version on the Planet Factory repository, ch patient, or you can start writing a part of the manual yourself! Don't forget to ping me in the Discord to notify me of any additions (GitHub refuses to send me emails so I have no other way of knowing). -\input{streams/Stream2.tex} - -\input{streams/Stream3.tex} - -\input{streams/Stream4.tex} - \input{streams/Stream5.tex} \input{streams/Stream6.tex} @@ -73,9 +67,11 @@ knowing). \input{topics/radiation.tex} -%Velocity +\input{topics/velocity.tex} -%Advection +\input{topics/advection.tex} + +\input{topics/master.tex} \newpage \input{streams/TTNMETAF.tex} diff --git a/tex-docs/streams/Stream2.tex b/tex-docs/streams/Stream2.tex deleted file mode 100644 index c5d3af3..0000000 --- a/tex-docs/streams/Stream2.tex +++ /dev/null @@ -1,231 +0,0 @@ -\section{Let's Get the Atmosphere Moving} -In its current state, CLaUDE has a static planet. This means that the planet remains in place and does not move. However we know that planets move in orbit and more importantly, spin around -themselves. But before we start adding layers, let's talk about a term you will hear more often: numerical instability. - -Numerical instability occurs when you first run the model. This is due to the nature of the equations. Nearly all equations are continuous, which means that they are always at work. However -when you start the model, the equations were not at work yet. It is as if you suddenly give a random meteor an atmosphere, place it in orbit around a star and don't touch it for a bit. You will -see that the whole system oscilates wildly as it adjusts to the sudden changes and eventually it will stabilise. Another term you might encounter is blow up, this occurs when when the model -suddenly no longer behaves like it should. This is most likely caused by mistakes in the code or incorrect paramter initialisation. Be wary of the existence of both factors, and do not dismiss -a model if it behaves weirdly as it has just started up. - -\subsection{Equation of State and the Incompressible Atmosphere} -The equation of state relates one or more variables in a dynamical system (like the atmosphee) to another. The most common equation of state in the atmosphere is the ideal gas equation as -described by \autoref{eq:ideal gas} \cite{idealGas}. The symbols in that equation represent: - -\begin{itemize} - \item $p$: The gas pressure ($Pa$). - \item $V$: The volume of the gas ($m^3$). - \item $n$: The amount of moles\footnote{Mole is the amount of particles ($6.02214076 \cdot 10^{23}$) in a substance, where the average weight of one mole of particles in grams is about the - same as the weight of one particle in atomic mass units ($u$)\cite{mole}} in the gas. - \item $R$: The Gas constant, $8.3144621$ ($J(mol)^{-1}K$) \cite{idealGas}. - \item $T$: The temperature opf the gas ($K$). -\end{itemize} - -If we divide everything in \autoref{eq:ideal gas} by $V$ and set it to be unit (in this case, set it to be exactly $1 m^3$) we can add in the molar mass in both the top and bottom parts of the -division as show in \autoref{eq:gas unit}. We can then replace $\frac{nm}{V}$ by $\rho$ the density of the gas ($kgm^{-3}$) and $\frac{R}{m}$ by $R_s$ the specific gas constant (gas constant that varies per -gas in $J(mol)^{-1}K$) as shown in \autoref{eq:state gas}. the resulting equation is the equation of state that you get that most atmospheric physicists use when talking about the atmosphere \cite{simon}. - -\begin{subequations} - \begin{equation} - pV = nRT - \label{eq:ideal gas} - \end{equation} - \begin{equation} - p = \frac{nR}{V}T = \frac{nmR}{Vm}T - \label{eq:gas unit} - \end{equation} - \begin{equation} - p = \rho R_sT - \label{eq:state gas} - \end{equation} -\end{subequations} - -The pressure is quite important, as air moves from a high pressure point to a low pressure point. So if we know the density and the temperature, then we know the pressure and we can work out -where the air will be moving to (i.e. how the wind will blow). In our current model, we know the atmospheric temperature but we do not know the density. For simplicities sake, we will now assume -that the atmosphere is Incompressible, meaning that we have a constant density. Obviously we know that air can be compressed and hence our atmosphere can be compressed too but that is not -important enough to account for yet, especially considering the current complexity of our model. - -The code that corresponds to this is quite simple, the only change that we need to make in \autoref{eq:state gas} is that we need to replace $T$ by $T_a$, the temperature of the atmosphere. As -$T_a$ is a matrix (known to programmers as a double array), $p$ will be a matrix as well. Now we only need to fill in some values. $\rho = 1.2$\cite{densityAir}, $R_s = 287$\cite{specificGasConstantAir}. - -\subsection{The Primitive Equations and Geostrophy} -The primitive equations (also known as the momentum equations) is what makes the air move. It is actually kind of an injoke between physicists as they are called the primitive equations but -actually look quite complicated (and it says $fu$ at the end! \cite{simon}). The primitive equations are a set of equations dictating the direction in the $u$ and $v$ directions as shown in -\autoref{eq:primitive u} and \autoref{eq:primitive v}. We can make the equations simpler by using and approximation called geostrophy which means that we have no vertical motion, such that the -terms with $\omega$ in \autoref{eq:primitive u} and \autoref{eq:primitive v} become 0. We also assume that we are in a steady state, i.e. there is no acceleration which in turn means that the -whole middle part of the equations are $0$. Hence we are left with \autoref{eq:primitive u final} and \autoref{eq:primitive v final}. - -\begin{subequations} - \begin{equation} - \frac{du}{dt} = \frac{\delta u}{\delta t} + u\frac{\delta u}{ \delta x} + v\frac{\delta u}{\delta v} + \omega\frac{\delta u}{\delta p} = -\frac{\delta \Phi}{\delta x} + fv - \label{eq:primitive u} - \end{equation} - \begin{equation} - \frac{dv}{dt} = \frac{\delta v}{\delta t} + u\frac{\delta v}{ \delta x} + v\frac{\delta v}{\delta v} + \omega\frac{\delta v}{\delta p} = -\frac{\delta \Phi}{\delta y} - fu - \label{eq:primitive v} - \end{equation} - - \begin{equation} - 0 = -\frac{\delta \Phi}{\delta x} + fv - \label{eq:primitive u final} - \end{equation} - \begin{equation} - 0 = -\frac{\delta \Phi}{\delta y} - fu - \label{eq:primitive v final} - \end{equation} -\end{subequations} - -\autoref{eq:primitive u final} can be split up into to parts, the $\frac{\delta \Phi}{\delta x}$ part (the gradient force) and the $fv$ part (the coriolis force). The same applies to -\autoref{eq:primitive v final}. Effectively we have a balance between the gradient and the coriolis force as shown in \autoref{eq:pu simple} and \autoref{eq:pv simple}. The symbols in both of -these equations are: - -\begin{itemize} - \item $\Phi$: The geopotential, potential (more explanation in \autoref{sec:potential}) of the planet's gravity field ($Jkg^{-1}$). - \item $x$: The change in the East direction along the planet surface ($m$). - \item $y$: The change in the North direction along the planet surface ($m$). - \item $f$: The coriolis parameter as described by \autoref{eq:coriolis}, where $\Omega$ is the rotation rate of the planet (for Earth $7.2921 \cdot 10^{-5}$) ($rad \ s^{-1}$) and $\theta$ is the - latitude \cite{coriolis}. - \item $u$: The velocity in the latitude ($ms^{-1}$). - \item $v$: The velocity in the longitude ($ms^{-1}$). -\end{itemize} - -\begin{subequations} - \begin{equation} - f = 2\Omega\sin(\theta) - \label{eq:coriolis} - \end{equation} - \begin{equation} - \frac{\delta \Phi}{\delta x} = fv - \label{eq:pu simple} - \end{equation} - \begin{equation} - \frac{\delta \Phi}{\delta y} = -fu - \label{eq:pv simple} - \end{equation} - \begin{equation} - \frac{\delta p}{\rho \delta x} = fv - \label{eq:pu simple final} - \end{equation} - \begin{equation} - \frac{\delta p}{\rho \delta y} = -fu - \label{eq:pv simple final} - \end{equation} -\end{subequations} - -Since we want to know how the atmosphere moves, we want to get the v and u components of the velocity vector (since $v$ and $u$ are the veolicites in longitude and latitude, if we combine them in a -vector we get the direction of the overall velocity). So it is time to start coding and calculating! If we look back at \autoref{alg:stream1v2}, we can see that we already have a double for loop. -In computer science, having multiple loops is generally considered a bad coding practice as you usually can just reuse the indices of the already existing loop, so you do not need to create a new -one. However this is a special case, since we are calculating new temperatures in the double for loop. If we then also would start to calculate the velocities then we would use new information -and old information at the same time. Since at index $i - 1$ the new temperature has already been calculated, but at the index $i + 1$ the old one is still there. So in order to fix that we need -a second double for loop to ensure that we always use the new temperatures. We display this specific loop in \autoref{alg:stream2}. Do note that everything in \autoref{alg:stream1v2} is still -defined and can still be used, but since we want to focus on the new code, we leave out the old code to keep it concise and to prevent clutter. - -\begin{algorithm}[hbt] - \SetAlgoLined - - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlon]$}{ - $u[lat, lon] \leftarrow -\frac{p[lat + 1, lon] - p[lat - 1, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; - $v[lat, lon] \leftarrow \frac{p[lat, lon + 1] - p[lat, lon - 1]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; - } - } - } - \caption{The main loop of the velocity of the atmosphere calculations} - \label{alg:stream2} -\end{algorithm} - -The gradient calculation is done in \autoref{alg:gradient}. For this to work, we need the circumference of the planet. Herefore we need to assume that the planet is a sphere. While that is not -technically true, it makes little difference in practice and is good enough for our model. The equation for the circumference can be found in \autoref{eq:circumference} \cite{circumference}, -where $r$ is the radius of the planet. Here we also use the f-plane approximation, where the coriolis paramter has one value for the northern hemisphere and one value for the southern hemisphere -\cite{fplane}. - -\begin{equation} - 2 \pi r - \label{eq:circumference} -\end{equation} - -\begin{algorithm} - \SetAlgoLined - $C \leftarrow 2\pi R$ \; - $\delta y \leftarrow \frac{C}{nlat}$ \; - - \For{$lat \in [-nlat, nlat]$}{ - $\delta x[lat] \leftarrow \delta y \cos(lat \cdot \frac{\pi}{180})$ \; - - \eIf{$lat < 0$}{ - $f[lat] \leftarrow -10^{-4}$ \; - }{ - $f[lat] \leftarrow 10^{-4}$ \; - } - } - \caption{Calculating the gradient $\delta x$} - \label{alg:gradient} -\end{algorithm} - -Because of the geometry of the planet and the construction of the longitude latitude grid, we run into some problems when calculating the gradient. Since the planet is not flat ("controversial -I know"\cite{simon}) whenever we reach the end of the longitude we need to loop around to get to the right spot to calculate the gradients (as the planet does not stop at the end of the -longitude line but loops around). So to fix that we use the modulus (mod) function which does the looping for us if we exceed the grid's boundaries. We do haveanother problem though, the poles. -As the latitude grows closer to the poles, they are converging on the center point of the pole. Looping around there is much more difficult so to fix it, we just do not consider that center -point in the main loop. The changed algorithm can be found in \autoref{alg:stream2v2} - -\begin{algorithm}[hbt] - \SetAlgoLined - - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat + 1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - $u[lat, lon] \leftarrow -\frac{p[(lat + 1) \text{ mod } nlat, lon] - p[(lat -1) \text{ mod } nlat, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; - $v[lat, lon] \leftarrow \frac{p[lat, (lon + 1) \text{ mod } nlon] - p[lat, (lon -1) \text{ mod } nlon]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; - } - } - } - \caption{The main loop of the velocity of the atmosphere calculations} - \label{alg:stream2v2} -\end{algorithm} - -Do note that the pressure calculation is done between the temperature calculation in \autoref{alg:stream1v2} and the $u, v$ calculations in \autoref{alg:stream2v2}. At this point our model shows -a symmetric vortex around the sun that moves with the sun. This is not very realistic as you usually have convection and air flowing from warm to cold, but we do not have that complexity yet -(due to our single layer atmosphere). - -\subsection{Introducing an Ocean} -Now we want to introduce an ocean, because most of the Earth is covered by oceans it plays quite an important role in atmospheric physics. To do this we need a new concept called albedo. Albedo -is basically the reflectiveness of a material (in our case the planet's surface) \cite{albedo}. The average albedo of the Earth is about 0.3. Now to add an ocean to the grid, we define a few -areas where the albedo differs. Where you do this does not really matter for the current complexity. Defining the oceans is as easy as hardcoding (what we computer scientists refer to when -setting parts of an array to be a specific value, where if you want to change the value you need to change it everywhere instead of doing it in a variable) the albedo value for the specific -regions as we do in \autoref{alg:albedo}. Water also takes longer to warm up, so let us change the specific heat capacity ($C_p$ in \autoref{alg:stream1v2}) from a constant to an array. The new -$C_p$ can also be found in \autoref{alg:albedo}, where we have made the specific heat capacity of water one order of magnitude (i.e. $10$ times) larger. - -\begin{algorithm}[hbt] - $a \leftarrow 0.5$ \; - $a[5-55, 9-20] \leftarrow 0.2$ \; - $a[23-50, 45-70] \leftarrow 0.2$ \; - $a[2-30, 85-110] \leftarrow 0.2$ \; - - $C_p \leftarrow 10^7$ \; - $C_p[5-55, 9-20] \leftarrow 10^8$ \; - $C_p[23-50, 45-70] \leftarrow 10^8$ \; - $C_p[2-30, 85-110] \leftarrow 10^8$ \; - \caption{Defining the oceans} - \label{alg:albedo} -\end{algorithm} - -Now that we have that defined, we need to adjust the main loop of the program (\autoref{alg:stream1v2}). For clarity, all the defined constants have been left out. We need to add albedo into the -equation and change $C_p$ from a constant to an array. The algorithm after these changes can be found in \autoref{alg:stream2v3}. We multiply by $1 - a$ since albedo represents how much energy is -reflected instead of absorbed, where we need the amount that is absorbed which is exactly equal to $1$ minus the amount that is reflected. - -\begin{algorithm}[hbt] - \SetAlgoLined - - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ - $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p[lat, lon]}$ \; - $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; - $t \leftarrow t + \delta t$ \; - } - } - } - \caption{The main loop of the temperature calculations} - \label{alg:stream2v3} -\end{algorithm} \ No newline at end of file diff --git a/tex-docs/streams/Stream3.tex b/tex-docs/streams/Stream3.tex deleted file mode 100644 index db6edd3..0000000 --- a/tex-docs/streams/Stream3.tex +++ /dev/null @@ -1,232 +0,0 @@ -\section{Adding Mass to CLAuDE} -\subsection{The Momentum Equations} -The momentum equations are a set of equations that describe the flow of a fluid on the surface of a rotating body. For our model we will use the f-plane approximation. The equations corresponding -to the f-plane approximation are given in \autoref{eq:x momentum} and \autoref{eq:y momentum} \cite{momentumeqs}. Note that we are ignoring vertical moevement, as this does not have a significant -effect on the whole flow. All the symbols in \autoref{eq:x momentum} and \autoref{eq:y momentum} mean: - -\begin{itemize} - \item $u$: The east to west velocity ($ms^{-1}$). - \item $t$: The time ($s$). - \item $f$: The coriolis parameter as in \autoref{eq:coriolis}. - \item $v$: The north to south velocity ($ms^{-1}$). - \item $\rho$: The density of the atmosphere ($kgm^{-3}$). - \item $p$: The atmospheric pressure ($Pa$). - \item $x$: The local longitude coordinate ($m$). - \item $y$: The local latitude coordinate ($m$). -\end{itemize} - -If we then define a vector $\bar{u}$ as $(u, v, 0)$, we can rewrite both \autoref{eq:x momentum} as \autoref{eq:x momentum laplace}. Here $\nabla u$ is the gradient of -$u$ in both $x$ and $y$ directions. Then if we write out $\nabla u$ we get \autoref{eq:x momentum final}. Similarly, if we want to get $\delta v$ instead of $\delta u$ we rewrite -\autoref{eq:y momentum} to get \autoref{eq:y momentum laplace} and \autoref{eq:y momentum final}. - -\begin{subequations} - \begin{equation} - \frac{Du}{Dt} - fv = -\frac{1}{\rho} \frac{\delta p}{\delta x} - \label{eq:x momentum} - \end{equation} - \begin{equation} - \frac{Dv}{Dt} - fu = -\frac{1}{\rho} \frac{\delta p}{\delta y} - \label{eq:y momentum} - \end{equation} - \begin{equation} - \frac{\delta u}{\delta t} + \bar{u} \cdot \nabla u - fv = -\frac{1}{\rho}\frac{\delta p}{\delta x} - \label{eq:x momentum laplace} - \end{equation} - \begin{equation} - \frac{\delta v}{\delta t} + \bar{u} \cdot \nabla v - fu = -\frac{1}{\rho}\frac{\delta p}{\delta y} - \label{eq:y momentum laplace} - \end{equation} - \begin{equation} - \frac{\delta u}{\delta t} + u\frac{\delta u}{\delta x} + v\frac{\delta u}{\delta y} - fv = -\frac{1}{\rho}\frac{\delta p}{\delta x} - \label{eq:x momentum final} - \end{equation} - \begin{equation} - \frac{\delta v}{\delta t} + u\frac{\delta v}{\delta x} + v\frac{\delta v}{\delta y} - fu = -\frac{1}{\rho}\frac{\delta p}{\delta y} - \label{eq:y momentum final} - \end{equation} -\end{subequations} - -With the gradient functions defined, we can move on to the main code for the momentum equations. The main loop is shown in \autoref{alg:stream3}. Do note that this loop replaces the one -in \autoref{alg:stream2v2} as these calculate the same thing, but the new algorithm does it better. - -\begin{algorithm} - $S_{xu} \leftarrow \texttt{gradient\_x}(u, lan, lon)$ \; - $S_{yu} \leftarrow \texttt{gradient\_y}(u, lan, lon)$ \; - $S_{xv} \leftarrow \texttt{gradient\_x}(v, lan, lon)$ \; - $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; - $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; - $S_{py} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; - \While{\texttt{TRUE}}{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - $u[lan, lon] \leftarrow u[lan, lon] + \delta t \frac{-u[lan, lon]S_{xu} - v[lan, lon]S_{yu} + f[lan]v[lan, lon] - S_{px}}{\rho}$ \; - $v[lan, lon] \leftarrow v[lan, lon] + \delta t\frac{-u[lan, lon]S_{xv} - v[lan, lon]S_{yv} - f[lan]u[lan, lon] - S_{py}}{\rho}$ \; - } - } - } - \caption{Calculating the flow of the atmosphere (wind)} - \label{alg:stream3} -\end{algorithm} - -\subsection{Thermal Diffusion} -As of this time, what you notice if you run the model is that the winds only get stronger and stronger (and the model is hence blowing up). This is because there is no link yet between the -velocities of the atmosphere and the temperature. Currently, any air movement does not affect the temperature in the atmosphere of our model while it does in reality. So we need to change some -calculations to account for that. Thermal diffusion helps with spreading out the temperatures and tempering the winds a bit. - -The diffusion equation, as written in \autoref{eq:diffusion}, describes how the temperature spreads out over time\cite{diffusion}. The symbols in the equation represent: - -\begin{itemize} - \item $u$: A vector consisting out of 4 elements: $x, y, z, t$. $x, y, z$ are the local coordinates and $t$ is time. - \item $\alpha$: The thermal diffusivity constant. - \item $\nabla^2$: The Laplace operator, more information in \autoref{sec:laplace}. - \item $\bar{u}$: The time derivative of $u$, or in symbols $\frac{\delta u}{\delta t}$. -\end{itemize} - -\begin{equation} - \bar{u} = \alpha \nabla^2 u - \label{eq:diffusion} -\end{equation} - -Now to get this into code we need the following algorithms \autoref{alg:laplacian} and \autoref{alg:diffusion}. \autoref{alg:laplacian} implements the laplacian operator, whereas -\autoref{alg:diffusion} implements the diffusion calculations. $\nabla^2$ in \autoref{alg:diffusion} represents the call to \autoref{alg:laplacian}. - -\begin{algorithm} - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{A matrix (double array) a} - \Output{A matrix (double array) with results for the laplacian operator for each element} - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - $output[lat, lon] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon)}{\delta x[lat]} + \frac{\Delta_y(a, lat + 1, lon) - - \Delta_y(a, lat - 1, lon)}{\delta y}$\; - } - } - \Return{$ouput$} \; - \caption{Calculate the laplacian operator over a matrix a} - \label{alg:laplacian} -\end{algorithm} - -\begin{algorithm} - $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; - $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; - \While{\texttt{TRUE}}{ - $T_a \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a)$ \; - $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - } - \caption{The main loop for calculating the effects of diffusion} - \label{alg:diffusion} -\end{algorithm} - -\subsection{Advection} -With thermal diffusion in place, the temperature will spread out a bit, however air is not transported yet. This means that the winds we simulate are not actually moving any air. Advection is -going to change that. Advection is a fluid flow transporting something with it as it flows. This can be temperature, gas, solids or other fluids. In our case we will be looking at temperature. -The advection equation is shown in \autoref{eq:advection}. The symbols are: - -\begin{itemize} - \item $\psi$: What is carried along (in our case temperature, $K$). - \item $t$: The time ($s$). - \item $u$: The fluid velocity vector ($ms^{-1}$). - \item $\nabla$: The divergence operator (as explained in \autoref{sec:laplace}). -\end{itemize} - -\begin{equation} - \frac{\delta \psi}{\delta t} + \nabla \cdot (\psi u) = 0 - \label{eq:advection} -\end{equation} - -\begin{algorithm} - \SetKwInOut{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{A matrix (double array) $a$} - \Output{A matrix (double array) containing the result of the divergence operator taken over that element} - $dim_1 \leftarrow \text{ Length of } a \text{ in the first dimension}$ \; - \For{$i \in [0, dim_1]$}{ - $dim_2 \leftarrow \text{ Length of } a \text{ in the second dimension (i.e. the length of the array stored at index } i)$ \; - \For{$j \in [0, dim_2]$}{ - $output[i, j] \leftarrow \Delta_x(au, i, j) + \Delta_y(av, i, j)$ \; - } - } - \Return{$output$} \; - \caption{Calculate the result of the divergence operator on a vector} - \label{alg:divergence} -\end{algorithm} - -With the divergence functon defined, we now need to adjust \autoref{alg:diffusion} to incorporate this effect. The resulting algorithm can be found in \autoref{alg:advection}. Here $\nabla$ -represents the function call to \autoref{alg:divergence}. - -\begin{algorithm} - $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; - $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; - \While{\texttt{TRUE}}{ - $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; - $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; - $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - } - \caption{The main loop for calculating the effects of advection} - \label{alg:advection} -\end{algorithm} - -Now that we have the air moving, we also need to account for the moving of the density. This is because moving air to a certain place will change the air density at that place if the air at that -place does not move away at the same rate. Say we are moving air to $x$ at $y \ ms^{-1}$. If air at $x$ moves at a rate $z \ ms^{-1}$ and $z \neq y$ then the air density at $x$ will change. -The equation we will need for that is the mass continuity equation as shown in \autoref{eq:mass continuity} \cite{masscontinue}. - -\begin{equation} - \frac{\delta \rho}{\delta t} + \nabla \cdot (\rho v) = 0 - \label{eq:mass continuity} -\end{equation} - -Using this equation means that we will no longer assume that the atmosphere is incompressible. Therefore we need to change a few things in the code. First we need to change the $\rho$ in -\autoref{alg:stream3}. Since $\rho$ is no longer constant we need to access the right value of $\rho$ by specifying the indices. So $\rho$ will change to $\rho[lat, lon]$. Furthermore we need -to calculate $\rho$ after the movement of air has taken place, so we need to change \autoref{alg:advection} as well to include the calculations for $\rho$. The new version can be found in -\autoref{alg:advectionv2}. Again the $\nabla$ represents the call to \autoref{alg:divergence}. - - -\begin{algorithm} - $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; - $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; - \While{\texttt{TRUE}}{ - $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; - $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; - $\rho \leftarrow \rho + \delta t \nabla \rho$ \; - $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - } - \caption{The main loop for calculating the effects of advection} - \label{alg:advectionv2} -\end{algorithm} - -Now that we have a varying density, we need to account for that in the temperature equations. So let us do that. We need it in the denominator as the density has a direct effect on the -heat capacity of the atmosphere. The changes are reflected in \autoref{alg:temperature with density}. - -\begin{algorithm}[hbt] - \SetAlgoLined - - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ - $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{\rho[lat, lon]C_p[lat, lon]}$ \; - $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{\rho[lat, lon]C_a}$ \; - $t \leftarrow t + \delta t$ \; - } - } - } - \caption{The main loop of the temperature calculations} - \label{alg:temperature with density} -\end{algorithm} - -\subsection{Improving the Coriolis Parameter} -Another change introduced is in the coriolis parameter. Up until now it has been a constant, however we know that it varies along the latitude. So let's make it vary over the latitude. Recall -\autoref{eq:coriolis}, where $\Theta$ is the latitude. Coriolis ($f$) is currently defined in \autoref{alg:gradient}, so let's incorporate the changes which are shown in \autoref{alg:coriolis}. - -\begin{algorithm} - \SetAlgoLined - $C \leftarrow 2\pi R$ \; - $\delta y \leftarrow \frac{C}{nlat}$ \; - $\Omega \leftarrow 7.2921 \cdot 10^{-5}$ \; - - \For{$lat \in [-nlat, nlat]$}{ - $\delta x[lat] \leftarrow \delta y \cos(lat \cdot \frac{\pi}{180})$ \; - $f[lat] \leftarrow 2\Omega \sin(lat \frac{\pi}{180})$ \; - } - \caption{Calculating the gradient $\delta x$} - \label{alg:coriolis} -\end{algorithm} \ No newline at end of file diff --git a/tex-docs/streams/Stream4.tex b/tex-docs/streams/Stream4.tex deleted file mode 100644 index 93f4c81..0000000 --- a/tex-docs/streams/Stream4.tex +++ /dev/null @@ -1,83 +0,0 @@ -\section{Removing Some Assumptions and Mistakes from CLAuDE} -The first half of this stream was spent looking through the code and fixing some mistakes. To spare you dear reader from making these same mistakes, they have already been incorporated into -the previous sections, hooray! This does not only save you some work, but it also spares you from staring at a model that does not function due to wrongly defined constants or using the wrong -values. - -\subsection{Adding a Spin-Up Time} -Instead of having a static start (having the planet start from rest, so no rotations allowed) we will have the model start up for some time before we start simulating the climate extensively. -To accomodate for this, we have to make some changes in the code. First we need to add two booleans (variables that can only take two values, either \texttt{TRUE} or \texttt{FALSE}) that we use -to indicate to the model whether we want to simulate the wind and whether we want to simulate advection. This means that the main loop will have some changes made to it. After performing the -calculations in \autoref{alg:temperature with density} we would calculate the velocities and afterwards we would calculate the advection. Instead let us change it to what is shown in -\autoref{alg:stream4v1}. - -\begin{algorithm} - \While{\texttt{TRUE}}{ - \autoref{alg:temperature with density} \; - \If{$velocity$}{ - \autoref{alg:stream3} \; - \If{$advection$}{ - \autoref{alg:advectionv2} \; - } - } - } - \caption{Main loop that can simulate flow and advection conditionally} - \label{alg:stream4v1} -\end{algorithm} - -Now to dynamically enable/disable the simulation of flow and advection we need to add the spin-up calculations to the main loop. So in \autoref{alg:stream4v1}, before -\autoref{alg:temperature with density} we add \autoref{alg:spinup}. What it does is it changes the timestep when spinnning up and disables flow simulation, and when a week has passed it reduces -the timestep and enables flow simulation. At this point in time, the advection is not dynamically enabled/disabled but it is done by the programmer. Currently it will break the model, so I -recommend leaving it on \texttt{FALSE} until it is fixed in \autoref{sec:advectionfix}. - -\begin{algorithm} - \eIf{$t < 7day$}{ - $\delta t \leftarrow 60 \cdot 47$ \; - $velocity \leftarrow \texttt{FALSE}$ \; - }{ - $\delta t \leftarrow 60 \cdot 9$ \; - $velocity \leftarrow \texttt{TRUE}$ \; - } - \caption{The spin-up block dynamically enabling or disabling flow simulation} - \label{alg:spinup} -\end{algorithm} - -\subsection{Varying the Albedo} -The albdeo (reflectiveness of the planet's surface) is of course not the same over the whole planet. To account for this, we instead vary the albedo slightly for each point in the latitude -longitude grid. The algorithm that does this is shown in \autoref{alg:albedo variance}. The uniform distribution basically says that each allowed value in the interval has an equal chance of -being picked \cite{uniformdist}. - -\begin{algorithm} - $V_a \leftarrow 0.02$ \; - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlon]$}{ - $R \leftarrow \text{ Pick a random number (from the uniform distribution) in the interval } [-V_a, V_a]$ \; - $a[lat, lon] \leftarrow a[lat, lon] + V_a \cdot R$\; - } - } - \caption{Varying the albedo of the planet} - \label{alg:albedo variance} -\end{algorithm} - -\subsection{Fixing the Advection} \label{sec:advectionfix} -Currently the advection does not work like it should. This is probably due to boundary issues, where we get too close to the poles and it starts freaking out there \cite{simon}. So to fix this -we are going to define boundaries and assume that the advection only works within those boundaries. We only let it change by half of the values. The changes are incorporated in -\autoref{alg:advectionfix}. The reason why we mention this seperately, in contrast to the other fixes that we have incorporated throughout the manual already, is the accompanying change with the -boundary. - -\begin{algorithm} - $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; - $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; - $boundary \leftarrow 7$ \; - \While{\texttt{TRUE}}{ - $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; - $T_a \leftarrow T_a - 0.5T_{add}[boundary:-boundary, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + boundary, nlat - boundary]$. \; - $\rho[boundary: -boundary, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + boundary, nlat - boundary]$ \; - $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - } - \caption{The main loop for calculating the effects of advection} - \label{alg:advectionfix} -\end{algorithm} - -\subsection{Adding Friction} -In order to simulate friction, we multiply the speeds $u$ and $v$ by $0.99$. Of course there are equations for friction but that gets complicated very fast, so instead we just assume that we -have a constant friction factor. This multiplication is done directly after \autoref{alg:stream3} in \autoref{alg:stream4v1}. \ No newline at end of file diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index e69de29..2e6b07a 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -0,0 +1,114 @@ +\section{Advection} +Advection is a fluid flow transporting something with it as it flows. This can be temperature, gas, solids or other fluids. In our case we will be looking at temperature. + +\subsection{Thermal Diffusion} +As of this time, what you notice if you run the model is that the winds only get stronger and stronger (and the model is hence blowing up, which means that the numbers increase so dramatically +that it is no longer realistic). This is because there is no link yet between the velocities of the atmosphere and the temperature. Currently, any air movement does not affect the temperature +in the atmosphere of our model while it does in reality. So we need to change some calculations to account for that. Thermal diffusion helps with spreading out the temperatures and tempering +the winds a bit. + +The diffusion equation, as written in \autoref{eq:diffusion}, describes how the temperature spreads out over time\cite{diffusion}. The symbols in the equation represent: + +\begin{itemize} + \item $u$: A vector consisting out of 4 elements: $x, y, z, t$. $x, y, z$ are the local coordinates and $t$ is time. + \item $\alpha$: The thermal diffusivity constant. + \item $\nabla^2$: The Laplace operator, more information in \autoref{sec:laplace}. + \item $\bar{u}$: The time derivative of $u$, or in symbols $\frac{\delta u}{\delta t}$. +\end{itemize} + +\begin{equation} + \bar{u} = \alpha \nabla^2 u + \label{eq:diffusion} +\end{equation} + +Now to get this into code we need the following algorithms \autoref{alg:laplacian} and \autoref{alg:diffusion}. \autoref{alg:laplacian} implements the laplacian operator, whereas +\autoref{alg:diffusion} implements the diffusion calculations. $\nabla^2$ in \autoref{alg:diffusion} represents the call to \autoref{alg:laplacian}. + +\begin{algorithm} + $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; + $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; + \While{\texttt{TRUE}}{ + $T_a \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a)$ \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + } + \caption{The main loop for calculating the effects of diffusion} + \label{alg:diffusion} +\end{algorithm} + +\subsection{Adding in Advection} +With thermal diffusion in place, the temperature will spread out a bit, however air is not transported yet. This means that the winds we simulate are not actually moving any air. Advection is +going to change that. The advection equation is shown in \autoref{eq:advection}. The symbols are: + +\begin{itemize} + \item $\psi$: What is carried along (in our case temperature, $K$). + \item $t$: The time ($s$). + \item $u$: The fluid velocity vector ($ms^{-1}$). + \item $\nabla$: The divergence operator (as explained in \autoref{sec:laplace}). +\end{itemize} + +\begin{equation} + \frac{\delta \psi}{\delta t} + \nabla \cdot (\psi u) = 0 + \label{eq:advection} +\end{equation} + +With the divergence functon defined in \autoref{alg:divergence}, we now need to adjust \autoref{alg:diffusion} to incorporate this effect. The resulting algorithm can be found in +\autoref{alg:advection}. Here $\nabla$ represents the function call to \autoref{alg:divergence}. + +\begin{algorithm} + $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; + $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; + \While{\texttt{TRUE}}{ + $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; + $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + } + \caption{The main loop for calculating the effects of advection} + \label{alg:advection} +\end{algorithm} + +Now that we have the air moving, we also need to account for the moving of the density. This is because moving air to a certain place will change the air density at that place if the air at that +place does not move away at the same rate. Say we are moving air to $x$ at $y \ ms^{-1}$. If air at $x$ moves at a rate $z \ ms^{-1}$ and $z \neq y$ then the air density at $x$ will change. +The equation we will need for that is the mass continuity equation as shown in \autoref{eq:mass continuity} \cite{masscontinue}. + +\begin{equation} + \frac{\delta \rho}{\delta t} + \nabla \cdot (\rho v) = 0 + \label{eq:mass continuity} +\end{equation} + +Using this equation means that we will no longer assume that the atmosphere is incompressible. Therefore we need to change a few things in the code. First we need to change the $\rho$ in +\autoref{alg:stream3}. Since $\rho$ is no longer constant we need to access the right value of $\rho$ by specifying the indices. So $\rho$ will change to $\rho[lat, lon]$. Furthermore we need +to calculate $\rho$ after the movement of air has taken place, so we need to change \autoref{alg:advection} as well to include the calculations for $\rho$. The new version can be found in +\autoref{alg:advectionv2}. Again the $\nabla$ represents the call to \autoref{alg:divergence}. + + +\begin{algorithm} + $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; + $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; + \While{\texttt{TRUE}}{ + $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; + $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; + $\rho \leftarrow \rho + \delta t \nabla \rho$ \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + } + \caption{The main loop for calculating the effects of advection} + \label{alg:advectionv2} +\end{algorithm} + +Currently the advection does not work like it should. This is probably due to boundary issues, where we get too close to the poles and it starts freaking out there \cite{simon}. So to fix this +we are going to define boundaries and assume that the advection only works within those boundaries. We only let it change by half of the values. The changes are incorporated in +\autoref{alg:advectionfix}. The reason why we mention this seperately, in contrast to the other fixes that we have incorporated throughout the manual already, is the accompanying change with the +boundary. + +\begin{algorithm} + $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; + $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; + $boundary \leftarrow 7$ \; + \While{\texttt{TRUE}}{ + $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; + $T_a \leftarrow T_a - 0.5T_{add}[boundary:-boundary, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + boundary, nlat - boundary]$. \; + $\rho[boundary: -boundary, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + boundary, nlat - boundary]$ \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + } + \caption{The main loop for calculating the effects of advection} + \label{alg:advectionfix} +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex new file mode 100644 index 0000000..0387a3a --- /dev/null +++ b/tex-docs/topics/master.tex @@ -0,0 +1,43 @@ +\section{The Master File} +The master file is the file that controls the model calculation. This file decides what calculations are used and what is done with the calculations (which is not the scope of this manual). +In other words, the master file combines all the calculations and theory from the previous sections and puts it all together to form a model. As mentioned earlier, this structure enables the +user to create their own version of the model. If one has their own calculations, or wants to use an older version of the calculations in this manual, then the user can define it themselves +and call it instead of the calls that we use. The model is meant to be customisable, which this structure enables. + +\subsection{Adding a Spin-Up Time} +Instead of having a static start (having the planet start from rest, so no rotations allowed) we will have the model start up for some time before we start simulating the climate extensively. +To accomodate for this, we have to make some changes in the code. First we need to add two booleans (variables that can only take two values, either \texttt{TRUE} or \texttt{FALSE}) that we use +to indicate to the model whether we want to simulate the wind and whether we want to simulate advection. This means that the main loop will have some changes made to it. After performing the +calculations in \autoref{alg:temperature with density} we would calculate the velocities and afterwards we would calculate the advection. Instead let us change it to what is shown in +\autoref{alg:stream4v1}. + +\begin{algorithm} + \While{\texttt{TRUE}}{ + \autoref{alg:temperature with density} \; + \If{$velocity$}{ + \autoref{alg:stream3} \; + \If{$advection$}{ + \autoref{alg:advectionfix} \; + } + } + } + \caption{Main loop that can simulate flow and advection conditionally} + \label{alg:stream4v1} +\end{algorithm} + +Now to dynamically enable/disable the simulation of flow and advection we need to add the spin-up calculations to the main loop. So in \autoref{alg:stream4v1}, before +\autoref{alg:temperature with density} we add \autoref{alg:spinup}. What it does is it changes the timestep when spinnning up and disables flow simulation, and when a week has passed it reduces +the timestep and enables flow simulation. At this point in time, the advection is not dynamically enabled/disabled but it is done by the programmer. Currently it will break the model, so I +recommend leaving it on \texttt{FALSE} until it is fixed in \autoref{sec:advectionfix}. + +\begin{algorithm} + \eIf{$t < 7day$}{ + $\delta t \leftarrow 60 \cdot 47$ \; + $velocity \leftarrow \texttt{FALSE}$ \; + }{ + $\delta t \leftarrow 60 \cdot 9$ \; + $velocity \leftarrow \texttt{TRUE}$ \; + } + \caption{The spin-up block dynamically enabling or disabling flow simulation} + \label{alg:spinup} +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/radiation.tex b/tex-docs/topics/radiation.tex index 8e05aa1..d4aaa59 100644 --- a/tex-docs/topics/radiation.tex +++ b/tex-docs/topics/radiation.tex @@ -1,9 +1,13 @@ \section{Radiation} -\subsection{The First Law of Thermodynamics and the Stefan-Boltzmann Equation} -The beginning of CLAuDE is based upon one of the most important laws of physics: "Energy is neither created nor destroyed, only changed from one form to another." In otherwords, if energy goes -into an object it must equal the outflowing energy plus the change of internal energy. This is captured in Stefan-Boltzmann's law (\autoref{eq:stefan-boltzmann}) \cite{stefan-boltzmann}. +Radiation is energy waves, some waves are visible like light, others are invisible like radio signals. As is the basis for physics, energy cannot be created nor destroyed, only changed from one +form to another. + +\subsection{The First Law of Thermodynamics and the Stefan-Boltzmann Equation} +If energy goes into an object it must equal the outflowing energy plus the change of internal energy. Which is exactly what happens with the atmosphere. Radiation from the sun comes in, and +radiation from the atmosphere goes out. And along the way we heat the atmosphere and the planet which causes less radiation to be emitted than received. At least, that is the idea for Earth which +may not apply to all planets. Let one thing be clear, more radiation cannot be emitted than is inserted, unless the planet and atmosphere are cooling. Anyway, we assume that the planet is a black +body, i.e. it absorbs all radiation on all wavelengths. This is captured in Stefan-Boltzmann's law (\autoref{eq:stefan-boltzmann}) \cite{stefan-boltzmann}. -Here we assume that the planet is a black body, i.e. it absorbs all radiation (energy waves, some waves are visible like light, others are invisible like radio signals) on all wavelengths. In \autoref{eq:stefan-boltzmann} the symbols are: \begin{itemize} @@ -201,4 +205,71 @@ that $S$ is defined as the call to \autoref{alg:solar}. } \caption{The main function of the temperature calculations} \label{alg:stream1v2} +\end{algorithm} + +\subsection{Albedo} +Albedo is basically the reflectiveness of a material (in our case the planet's surface) \cite{albedo}. The average albedo of the Earth is about 0.2. Do note that we change $C_p$ from a constant +to an array. We do this to allow adding in oceans or other terrain in the future. Same thing for the albedo, different terrain has different reflectiveness. + +\begin{algorithm}[hbt] + $a \leftarrow 0.2$ \; + + $C_p \leftarrow 10^7$ \; + \caption{Defining the oceans} + \label{alg:albedo} +\end{algorithm} + +Now that we have that defined, we need to adjust the main loop of the program (\autoref{alg:stream1v2}). For clarity, all the defined constants have been left out. We need to add albedo into the +equation and change $C_p$ from a constant to an array. The algorithm after these changes can be found in \autoref{alg:stream2v3}. We multiply by $1 - a$ since albedo represents how much energy is +reflected instead of absorbed, where we need the amount that is absorbed which is exactly equal to $1$ minus the amount that is reflected. + +\begin{algorithm}[hbt] + \SetAlgoLined + \SetKwInput{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{time $t$, amount of energy that hits the planet $S$} + \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlot]$}{ + $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p[lat, lon]}$ \; + $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; + } + } + \caption{The main loop of the temperature calculations} + \label{alg:stream2v3} +\end{algorithm} + +\subsection{Temperature with Varying Density} +\begin{algorithm}[hbt] + \SetAlgoLined + \SetKwInput{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{time $t$, amount of energy that hits the planet $S$} + \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlot]$}{ + $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{\rho[lat, lon]C_p[lat, lon]}$ \; + $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{\rho[lat, lon]C_a}$ \; + $t \leftarrow t + \delta t$ \; + } + } + \caption{The main loop of the temperature calculations} + \label{alg:temperature with density} +\end{algorithm} + +\subsection{Varying the Albedo} +The albdeo (reflectiveness of the planet's surface) is of course not the same over the whole planet. To account for this, we instead vary the albedo slightly for each point in the latitude +longitude grid. The algorithm that does this is shown in \autoref{alg:albedo variance}. The uniform distribution basically says that each allowed value in the interval has an equal chance of +being picked \cite{uniformdist}. + +\begin{algorithm} + $V_a \leftarrow 0.02$ \; + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlon]$}{ + $R \leftarrow \text{ Pick a random number (from the uniform distribution) in the interval } [-V_a, V_a]$ \; + $a[lat, lon] \leftarrow a[lat, lon] + V_a \cdot R$\; + } + } + \caption{Varying the albedo of the planet} + \label{alg:albedo variance} \end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex index 183813d..f8cfba3 100644 --- a/tex-docs/topics/util_funcs.tex +++ b/tex-docs/topics/util_funcs.tex @@ -123,7 +123,7 @@ the basis vector. \label{eq:laplacian vector} \end{equation} -The new code can be found in \autoref{alg:laplacian}. $\Delta_x$ and $\Delta_y$ in \autoref{alg:laplacian} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} +The code can be found in \autoref{alg:laplacian}. $\Delta_x$ and $\Delta_y$ in \autoref{alg:laplacian} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} respectively. \begin{algorithm}[hbt] @@ -157,7 +157,7 @@ respectively. \subsection{Divergence} As we expect to use the divergence operator more often throughout our model, let us define a seperate function for it in \autoref{alg:divergence}. $\Delta_x$ and $\Delta_y$ in \autoref{alg:divergence} represents the calls to \autoref{alg:gradient x} and \autoref{alg:gradient y} respectively. We do the multiplication with the velocity vectors $u, v$ and $w$ here already, -as we expect that we might use it in combination with the divergence operator more frequently. What those vectors are and represent we will discuss in %insert velocity reference here +as we expect that we might use it in combination with the divergence operator more frequently. What those vectors are and represent we will discuss in \autoref{sec:momentum}. \begin{algorithm}[!hbt] \SetKwInOut{Input}{Input} diff --git a/tex-docs/topics/velocity.tex b/tex-docs/topics/velocity.tex index e69de29..080a9aa 100644 --- a/tex-docs/topics/velocity.tex +++ b/tex-docs/topics/velocity.tex @@ -0,0 +1,269 @@ +\section{Air Velocity} +Did you ever feel the wind blow? Most probably. That's what we will be calculating here. How hard the wind will blow. This is noted as velocity, how fast something moves. + +\subsection{Equation of State and the Incompressible Atmosphere} +The equation of state relates one or more variables in a dynamical system (like the atmosphere) to another. The most common equation of state in the atmosphere is the ideal gas equation as +described by \autoref{eq:ideal gas} \cite{idealGas}. The symbols in that equation represent: + +\begin{itemize} + \item $p$: The gas pressure ($Pa$). + \item $V$: The volume of the gas ($m^3$). + \item $n$: The amount of moles\footnote{Mole is the amount of particles ($6.02214076 \cdot 10^{23}$) in a substance, where the average weight of one mole of particles in grams is about the + same as the weight of one particle in atomic mass units ($u$)\cite{mole}} in the gas. + \item $R$: The Gas constant, $8.3144621$ ($J(mol)^{-1}K$) \cite{idealGas}. + \item $T$: The temperature opf the gas ($K$). +\end{itemize} + +If we divide everything in \autoref{eq:ideal gas} by $V$ and set it to be unit (in this case, set it to be exactly $1 m^3$) we can add in the molar mass in both the top and bottom parts of the +division as show in \autoref{eq:gas unit}. We can then replace $\frac{nm}{V}$ by $\rho$ the density of the gas ($kgm^{-3}$) and $\frac{R}{m}$ by $R_s$ the specific gas constant (gas constant that varies per +gas in $J(mol)^{-1}K$) as shown in \autoref{eq:state gas}. the resulting equation is the equation of state that you get that most atmospheric physicists use when talking about the atmosphere \cite{simon}. + +\begin{subequations} + \begin{equation} + pV = nRT + \label{eq:ideal gas} + \end{equation} + \begin{equation} + p = \frac{nR}{V}T = \frac{nmR}{Vm}T + \label{eq:gas unit} + \end{equation} + \begin{equation} + p = \rho R_sT + \label{eq:state gas} + \end{equation} +\end{subequations} + +The pressure is quite important, as air moves from a high pressure point to a low pressure point. So if we know the density and the temperature, then we know the pressure and we can work out +where the air will be moving to (i.e. how the wind will blow). In our current model, we know the atmospheric temperature but we do not know the density. For simplicities sake, we will now assume +that the atmosphere is Incompressible, meaning that we have a constant density. Obviously we know that air can be compressed and hence our atmosphere can be compressed too but that is not +important enough to account for yet, especially considering the current complexity of our model. + +The code that corresponds to this is quite simple, the only change that we need to make in \autoref{eq:state gas} is that we need to replace $T$ by $T_a$, the temperature of the atmosphere. As +$T_a$ is a matrix (known to programmers as a double array), $p$ will be a matrix as well. Now we only need to fill in some values. $\rho = 1.2$\cite{densityAir}, $R_s = 287$\cite{specificGasConstantAir}. + +\subsection{The Primitive Equations and Geostrophy} +\textbf{NOTE:} This whole subsection is obsolete. We have replaced these calculations with \autoref{sec:momentum}. The folloing subsection is left in for historical value, and maybe for a simpler +calculation if you want your own model to do less heavy calculations. This is where the previously mentioned master file strucutre comes in. You can create a new file with the following +calculations and replace the call that you would make to \autoref{sec:momentum} with a call to the algorithm listed in this subsection. Your choice, though the model Simon has made opted to use +the more complicated calculations. So here are the original calculations and if you want an up to date overview of the calculations please have a look at \autoref{sec:momentum}. + +The primitive equations (also known as the momentum equations) is what makes the air move. It is actually kind of an injoke between physicists as they are called the primitive equations but +actually look quite complicated (and it says $fu$ at the end! \cite{simon}). The primitive equations are a set of equations dictating the direction in the $u$ and $v$ directions as shown in +\autoref{eq:primitive u} and \autoref{eq:primitive v}. We can make the equations simpler by using and approximation called geostrophy which means that we have no vertical motion, such that the +terms with $\omega$ in \autoref{eq:primitive u} and \autoref{eq:primitive v} become 0. We also assume that we are in a steady state, i.e. there is no acceleration which in turn means that the +whole middle part of the equations are $0$. Hence we are left with \autoref{eq:primitive u final} and \autoref{eq:primitive v final}. + +\begin{subequations} + \begin{equation} + \frac{du}{dt} = \frac{\delta u}{\delta t} + u\frac{\delta u}{ \delta x} + v\frac{\delta u}{\delta v} + \omega\frac{\delta u}{\delta p} = -\frac{\delta \Phi}{\delta x} + fv + \label{eq:primitive u} + \end{equation} + \begin{equation} + \frac{dv}{dt} = \frac{\delta v}{\delta t} + u\frac{\delta v}{ \delta x} + v\frac{\delta v}{\delta v} + \omega\frac{\delta v}{\delta p} = -\frac{\delta \Phi}{\delta y} - fu + \label{eq:primitive v} + \end{equation} + + \begin{equation} + 0 = -\frac{\delta \Phi}{\delta x} + fv + \label{eq:primitive u final} + \end{equation} + \begin{equation} + 0 = -\frac{\delta \Phi}{\delta y} - fu + \label{eq:primitive v final} + \end{equation} +\end{subequations} + +\autoref{eq:primitive u final} can be split up into to parts, the $\frac{\delta \Phi}{\delta x}$ part (the gradient force) and the $fv$ part (the coriolis force). The same applies to +\autoref{eq:primitive v final}. Effectively we have a balance between the gradient and the coriolis force as shown in \autoref{eq:pu simple} and \autoref{eq:pv simple}. The symbols in both of +these equations are: + +\begin{itemize} + \item $\Phi$: The geopotential, potential (more explanation in \autoref{sec:potential}) of the planet's gravity field ($Jkg^{-1}$). + \item $x$: The change in the East direction along the planet surface ($m$). + \item $y$: The change in the North direction along the planet surface ($m$). + \item $f$: The coriolis parameter as described by \autoref{eq:coriolis}, where $\Omega$ is the rotation rate of the planet (for Earth $7.2921 \cdot 10^{-5}$) ($rad \ s^{-1}$) and $\theta$ is the + latitude \cite{coriolis}. + \item $u$: The velocity in the latitude ($ms^{-1}$). + \item $v$: The velocity in the longitude ($ms^{-1}$). +\end{itemize} + +\begin{subequations} + \begin{equation} + f = 2\Omega\sin(\theta) + \label{eq:coriolis} + \end{equation} + \begin{equation} + \frac{\delta \Phi}{\delta x} = fv + \label{eq:pu simple} + \end{equation} + \begin{equation} + \frac{\delta \Phi}{\delta y} = -fu + \label{eq:pv simple} + \end{equation} + \begin{equation} + \frac{\delta p}{\rho \delta x} = fv + \label{eq:pu simple final} + \end{equation} + \begin{equation} + \frac{\delta p}{\rho \delta y} = -fu + \label{eq:pv simple final} + \end{equation} +\end{subequations} + +Since we want to know how the atmosphere moves, we want to get the v and u components of the velocity vector (since $v$ and $u$ are the veolicites in longitude and latitude, if we combine them +in a vector we get the direction of the overall velocity). So it is time to start coding and calculating! If we look back at \autoref{alg:stream1v2}, we can see that we already have a double +for loop. In computer science, having multiple loops is generally considered a bad coding practice as you usually can just reuse the indices of the already existing loop, so you do not need to +create a new one. However this is a special case, since we are calculating new temperatures in the double for loop. If we then also would start to calculate the velocities then we would use new +information and old information at the same time. Since at index $i - 1$ the new temperature has already been calculated, but at the index $i + 1$ the old one is still there. So in order to fix +that we need a second double for loop to ensure that we always use the new temperatures. We display this specific loop in \autoref{alg:stream2}. Do note that everything in \autoref{alg:stream1v2} +is still defined and can still be used, but since we want to focus on the new code, we leave out the old code to keep it concise and to prevent clutter. + +\begin{algorithm}[hbt] + \SetAlgoLined + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlon]$}{ + $u[lat, lon] \leftarrow -\frac{p[lat + 1, lon] - p[lat - 1, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; + $v[lat, lon] \leftarrow \frac{p[lat, lon + 1] - p[lat, lon - 1]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; + } + } + \caption{The main loop of the velocity of the atmosphere calculations} + \label{alg:stream2} +\end{algorithm} + +The gradient calculation is done in \autoref{alg:gradient}. For this to work, we need the circumference of the planet. Herefore we need to assume that the planet is a sphere. While that is not +technically true, it makes little difference in practice and is good enough for our model. The equation for the circumference can be found in \autoref{eq:circumference} \cite{circumference}, +where $r$ is the radius of the planet. Here we also use the f-plane approximation, where the coriolis paramter has one value for the northern hemisphere and one value for the southern hemisphere +\cite{fplane}. + +\begin{equation} + 2 \pi r + \label{eq:circumference} +\end{equation} + +\begin{algorithm} + \SetAlgoLined + $C \leftarrow 2\pi R$ \; + $\delta y \leftarrow \frac{C}{nlat}$ \; + + \For{$lat \in [-nlat, nlat]$}{ + $\delta x[lat] \leftarrow \delta y \cos(lat \cdot \frac{\pi}{180})$ \; + + \eIf{$lat < 0$}{ + $f[lat] \leftarrow -10^{-4}$ \; + }{ + $f[lat] \leftarrow 10^{-4}$ \; + } + } + \caption{Calculating the gradient $\delta x$ (note that this algorithm is obsolete)} + \label{alg:gradient} +\end{algorithm} + +Because of the geometry of the planet and the construction of the longitude latitude grid, we run into some problems when calculating the gradient. Since the planet is not flat ("controversial +I know"\cite{simon}) whenever we reach the end of the longitude we need to loop around to get to the right spot to calculate the gradients (as the planet does not stop at the end of the +longitude line but loops around). So to fix that we use the modulus (mod) function which does the looping for us if we exceed the grid's boundaries. We do haveanother problem though, the poles. +As the latitude grows closer to the poles, they are converging on the center point of the pole. Looping around there is much more difficult so to fix it, we just do not consider that center +point in the main loop. The changed algorithm can be found in \autoref{alg:stream2v2} + +\begin{algorithm}[hbt] + \SetAlgoLined + \For{$lat \in [-nlat + 1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + $u[lat, lon] \leftarrow -\frac{p[(lat + 1) \text{ mod } nlat, lon] - p[(lat -1) \text{ mod } nlat, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; + $v[lat, lon] \leftarrow \frac{p[lat, (lon + 1) \text{ mod } nlon] - p[lat, (lon -1) \text{ mod } nlon]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; + } + } + \caption{The main loop of the velocity of the atmosphere calculations} + \label{alg:stream2v2} +\end{algorithm} + +Do note that the pressure calculation is done between the temperature calculation in \autoref{alg:stream1v2} and the $u, v$ calculations in \autoref{alg:stream2v2}. At this point our model shows +a symmetric vortex around the sun that moves with the sun. This is not very realistic as you usually have convection and air flowing from warm to cold, but we do not have that complexity yet +(due to our single layer atmosphere). + +\subsection{The Momentum Equations} \label{sec:momentum} +The momentum equations are a set of equations that describe the flow of a fluid on the surface of a rotating body. For our model we will use the f-plane approximation. The equations corresponding +to the f-plane approximation are given in \autoref{eq:x momentum} and \autoref{eq:y momentum} \cite{momentumeqs}. Note that we are ignoring vertical movement, as this does not have a significant +effect on the whole flow. All the symbols in \autoref{eq:x momentum} and \autoref{eq:y momentum} mean: + +\begin{itemize} + \item $u$: The east to west velocity ($ms^{-1}$). + \item $t$: The time ($s$). + \item $f$: The coriolis parameter as in \autoref{eq:coriolis}. + \item $v$: The north to south velocity ($ms^{-1}$). + \item $\rho$: The density of the atmosphere ($kgm^{-3}$). + \item $p$: The atmospheric pressure ($Pa$). + \item $x$: The local longitude coordinate ($m$). + \item $y$: The local latitude coordinate ($m$). +\end{itemize} + +If we then define a vector $\bar{u}$ as $(u, v, 0)$, we can rewrite both \autoref{eq:x momentum} as \autoref{eq:x momentum laplace}. Here $\nabla u$ is the gradient of +$u$ in both $x$ and $y$ directions. Then if we write out $\nabla u$ we get \autoref{eq:x momentum final}. Similarly, if we want to get $\delta v$ instead of $\delta u$ we rewrite +\autoref{eq:y momentum} to get \autoref{eq:y momentum laplace} and \autoref{eq:y momentum final}. + +\begin{subequations} + \begin{equation} + \frac{Du}{Dt} - fv = -\frac{1}{\rho} \frac{\delta p}{\delta x} + \label{eq:x momentum} + \end{equation} + \begin{equation} + \frac{Dv}{Dt} - fu = -\frac{1}{\rho} \frac{\delta p}{\delta y} + \label{eq:y momentum} + \end{equation} + \begin{equation} + \frac{\delta u}{\delta t} + \bar{u} \cdot \nabla u - fv = -\frac{1}{\rho}\frac{\delta p}{\delta x} + \label{eq:x momentum laplace} + \end{equation} + \begin{equation} + \frac{\delta v}{\delta t} + \bar{u} \cdot \nabla v - fu = -\frac{1}{\rho}\frac{\delta p}{\delta y} + \label{eq:y momentum laplace} + \end{equation} + \begin{equation} + \frac{\delta u}{\delta t} + u\frac{\delta u}{\delta x} + v\frac{\delta u}{\delta y} - fv = -\frac{1}{\rho}\frac{\delta p}{\delta x} + \label{eq:x momentum final} + \end{equation} + \begin{equation} + \frac{\delta v}{\delta t} + u\frac{\delta v}{\delta x} + v\frac{\delta v}{\delta y} - fu = -\frac{1}{\rho}\frac{\delta p}{\delta y} + \label{eq:y momentum final} + \end{equation} +\end{subequations} + +With the gradient functions defined in \autoref{alg:gradient x} and \autoref{alg:gradient y}, we can move on to the main code for the momentum equations. The main loop is shown in +\autoref{alg:stream3}. Do note that this loop replaces the one in \autoref{alg:stream2v2} as these calculate the same thing, but the new algorithm does it better. + +\begin{algorithm} + $S_{xu} \leftarrow \texttt{gradient\_x}(u, lan, lon)$ \; + $S_{yu} \leftarrow \texttt{gradient\_y}(u, lan, lon)$ \; + $S_{xv} \leftarrow \texttt{gradient\_x}(v, lan, lon)$ \; + $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; + $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; + $S_{py} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; + \While{\texttt{TRUE}}{ + \For{$lat \in [1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + $u[lan, lon] \leftarrow u[lan, lon] + \delta t \frac{-u[lan, lon]S_{xu} - v[lan, lon]S_{yu} + f[lan]v[lan, lon] - S_{px}}{\rho}$ \; + $v[lan, lon] \leftarrow v[lan, lon] + \delta t\frac{-u[lan, lon]S_{xv} - v[lan, lon]S_{yv} - f[lan]u[lan, lon] - S_{py}}{\rho}$ \; + } + } + } + \caption{Calculating the flow of the atmosphere (wind)} + \label{alg:stream3} +\end{algorithm} + +\subsection{Improving the Coriolis Parameter} +Another change introduced is in the coriolis parameter. Up until now it has been a constant, however we know that it varies along the latitude. So let's make it vary over the latitude. Recall +\autoref{eq:coriolis}, where $\Theta$ is the latitude. Coriolis ($f$) is currently defined in \autoref{alg:gradient}, so let's replace it with \autoref{alg:coriolis}. + +\begin{algorithm} + \SetAlgoLined + $\Omega \leftarrow 7.2921 \cdot 10^{-5}$ \; + + \For{$lat \in [-nlat, nlat]$}{ + $f[lat] \leftarrow 2\Omega \sin(lat \frac{\pi}{180})$ \; + } + \caption{Calculating the coriolis force} + \label{alg:coriolis} +\end{algorithm} + +\subsection{Adding Friction} +In order to simulate friction, we multiply the speeds $u$ and $v$ by $0.99$. Of course there are equations for friction but that gets complicated very fast, so instead we just assume that we +have a constant friction factor. This multiplication is done directly after \autoref{alg:stream3} in \autoref{alg:stream4v1}. \ No newline at end of file From 47a20e14d60de534b2183aa3f7ac02ac5c918ae9 Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Mon, 7 Sep 2020 21:22:30 +0200 Subject: [PATCH 03/17] Finished the rewrite, only need to brush up the algorithms a bit --- tex-docs/CLAuDE.tex | 33 +- tex-docs/{streams => appendices}/TTNMETAF.tex | 0 tex-docs/appendices/history.tex | 138 ++++++++ tex-docs/appendices/vars.tex | 54 +++ tex-docs/streams/Stream.aux | 29 -- tex-docs/streams/Stream10.tex | 81 ----- tex-docs/streams/Stream5.tex | 144 -------- tex-docs/streams/Stream6.tex | 25 -- tex-docs/streams/Stream7.tex | 47 --- tex-docs/streams/Stream8.tex | 117 ------- tex-docs/streams/Stream9.tex | 79 ----- tex-docs/topics/advection.tex | 26 +- tex-docs/topics/control_panel.tex | 21 +- tex-docs/topics/master.tex | 58 ++- tex-docs/topics/radiation.tex | 331 +++++++++++++++++- tex-docs/topics/velocity.tex | 172 ++------- 16 files changed, 664 insertions(+), 691 deletions(-) rename tex-docs/{streams => appendices}/TTNMETAF.tex (100%) create mode 100644 tex-docs/appendices/history.tex create mode 100644 tex-docs/appendices/vars.tex delete mode 100644 tex-docs/streams/Stream.aux delete mode 100644 tex-docs/streams/Stream10.tex delete mode 100644 tex-docs/streams/Stream5.tex delete mode 100644 tex-docs/streams/Stream6.tex delete mode 100644 tex-docs/streams/Stream7.tex delete mode 100644 tex-docs/streams/Stream8.tex delete mode 100644 tex-docs/streams/Stream9.tex diff --git a/tex-docs/CLAuDE.tex b/tex-docs/CLAuDE.tex index 889d464..1380d41 100644 --- a/tex-docs/CLAuDE.tex +++ b/tex-docs/CLAuDE.tex @@ -26,9 +26,16 @@ The CLimate Analysis using Digital Estimations model is a simplified planetary climate model. It will be used to educate people on how climate physics works and to experiment with different parameters and see how much influence a tiny change can have (like for instance the rotation rate of the planet around its axis). It is built to be accessible to and runnable by everyone, -whether they have a super computer or a dated laptop. The model is written in Python and written during the weekly streams of Dr. Simon Clark \cite{twitch}. Each subsequent section starts with a -number, this number indicates which coding stream corresponds to that section. This does not only make it easier to cross reference but if the explanation is unclear or you just want to watch -the stream about that specific topic, you know which stream to watch. There is a useful playlist on Simon's Twitch which has all the streams without ad breaks or interruptions \cite{playlist}. +whether they have a super computer or a dated laptop. The model is written in Python and written during the weekly streams of Dr. Simon Clark \cite{twitch}. There is a useful playlist on +Simon's Twitch which has all the streams without ad breaks or interruptions \cite{playlist}. + +The manual itself is split up into distinct sections, each explaining one particular part of the model. Each section will be treating one topic, like radiation, advection or the control panel. +Although many concepts cannot be seen in isolation, as the wind has influence on how much temperature is distributed throughout the atmosphere, the calculations can be split up. The manual is +cumulative, starting with the basics and slowly building up to the current form of the algorithm. All changes to the algorithms can therefore be found here. An important distinction needs to be +made regarding the changes though. If the changes only change one part of the calculations, then it is considered an evolution, which will be added to the relevant section. However if the changes +are significant and not based on the previous code then the old alghorithms will be relocated to \autoref{sec:history}. Though the relevant theory will remain, as that is required to gain an +understanding of what the algorithm does. Do note that the radiation \autoref{sec:rad} is an exception for the first calculations as this forms the basis of the beginning of CLAuDE and the +fundamentals of the theory which I deem important enough to be left in place even if the calculations end up significantly different. This manual will provide an overview of the formulae used and will explain aspects of these formulae. For each equation each symbol will be explained what it is. In such an explanation, the units will be presented in SI units \cite{SI} between brackets like: $T$: The temperature of the planet ($K$). Which indicates that $T$ is the temperature of the planet in degrees Kelvin. If you need @@ -43,24 +50,12 @@ This manual is for the toy model, which is as of now still in development. One i a pain to fix and if something later on changes, the whole layout may be messed up again and is a pain to fix again. Hence I opt to let \LaTeX (the software/typeset language used to create this manual) figure out the placement of the algorithm blocks, which may or may not be in the right places. -Lastly, the manual is now up on the Planet Factory GitHub repository\cite{claudeGit}, together with all the source code. There is also a fork \cite{nomGit} that also contains the source code. +The manual is now up on the Planet Factory GitHub repository\cite{claudeGit}, together with all the source code. There is also a fork \cite{nomGit} that also contains the source code. The fork will usually be more up to date than the version on the Planet Factory repository as Simon needs to merge pull requests into the repository. However I can update the fork freely so if a particular stream is missing in the version on the Planet Factory repository, check the fork/Discord whether there is a newer version. If that is not the case, you just have to be a bit more patient, or you can start writing a part of the manual yourself! Don't forget to ping me in the Discord to notify me of any additions (GitHub refuses to send me emails so I have no other way of knowing). -\input{streams/Stream5.tex} - -\input{streams/Stream6.tex} - -\input{streams/Stream7.tex} - -\input{streams/Stream8.tex} - -\input{streams/Stream9.tex} - -\input{streams/Stream10.tex} - \input{topics/control_panel.tex} \input{topics/util_funcs.tex} @@ -74,7 +69,11 @@ knowing). \input{topics/master.tex} \newpage -\input{streams/TTNMETAF.tex} +\input{appendices/TTNMETAF.tex} + +\input{appendices/history.tex} + +\input{appendices/vars.tex} \newpage \bibliography{references} diff --git a/tex-docs/streams/TTNMETAF.tex b/tex-docs/appendices/TTNMETAF.tex similarity index 100% rename from tex-docs/streams/TTNMETAF.tex rename to tex-docs/appendices/TTNMETAF.tex diff --git a/tex-docs/appendices/history.tex b/tex-docs/appendices/history.tex new file mode 100644 index 0000000..cbef370 --- /dev/null +++ b/tex-docs/appendices/history.tex @@ -0,0 +1,138 @@ +\section{History of the Algorithms} \label{sec:history} +Back when I was a young naive programmer, I made a thing. Now a few years down the line I made the thing again, but infinitely better. So I have no use for the old thing anymore. But fear not, +old algorithms (used by CLAuDE) will be collected here. This is just for historical purposes. + +\subsection{Velocity} +\subsubsection{The Primitive Equations and Geostrophy} +The primitive equations (also known as the momentum equations) is what makes the air move. It is actually kind of an injoke between physicists as they are called the primitive equations but +actually look quite complicated (and it says $fu$ at the end! \cite{simon}). The primitive equations are a set of equations dictating the direction in the $u$ and $v$ directions as shown in +\autoref{eq:primitive u} and \autoref{eq:primitive v}. We can make the equations simpler by using and approximation called geostrophy which means that we have no vertical motion, such that the +terms with $\omega$ in \autoref{eq:primitive u} and \autoref{eq:primitive v} become 0. We also assume that we are in a steady state, i.e. there is no acceleration which in turn means that the +whole middle part of the equations are $0$. Hence we are left with \autoref{eq:primitive u final} and \autoref{eq:primitive v final}. + +\begin{subequations} + \begin{equation} + \frac{du}{dt} = \frac{\delta u}{\delta t} + u\frac{\delta u}{ \delta x} + v\frac{\delta u}{\delta v} + \omega\frac{\delta u}{\delta p} = -\frac{\delta \Phi}{\delta x} + fv + \label{eq:primitive u} + \end{equation} + \begin{equation} + \frac{dv}{dt} = \frac{\delta v}{\delta t} + u\frac{\delta v}{ \delta x} + v\frac{\delta v}{\delta v} + \omega\frac{\delta v}{\delta p} = -\frac{\delta \Phi}{\delta y} - fu + \label{eq:primitive v} + \end{equation} + + \begin{equation} + 0 = -\frac{\delta \Phi}{\delta x} + fv + \label{eq:primitive u final} + \end{equation} + \begin{equation} + 0 = -\frac{\delta \Phi}{\delta y} - fu + \label{eq:primitive v final} + \end{equation} +\end{subequations} + +\autoref{eq:primitive u final} can be split up into to parts, the $\frac{\delta \Phi}{\delta x}$ part (the gradient force) and the $fv$ part (the coriolis force). The same applies to +\autoref{eq:primitive v final}. Effectively we have a balance between the gradient and the coriolis force as shown in \autoref{eq:pu simple} and \autoref{eq:pv simple}. The symbols in both of +these equations are: + +\begin{itemize} + \item $\Phi$: The geopotential, potential (more explanation in \autoref{sec:potential}) of the planet's gravity field ($Jkg^{-1}$). + \item $x$: The change in the East direction along the planet surface ($m$). + \item $y$: The change in the North direction along the planet surface ($m$). + \item $f$: The coriolis parameter as described by \autoref{eq:coriolis}, where $\Omega$ is the rotation rate of the planet (for Earth $7.2921 \cdot 10^{-5}$) ($rad \ s^{-1}$) and $\theta$ is the + latitude \cite{coriolis}. + \item $u$: The velocity in the latitude ($ms^{-1}$). + \item $v$: The velocity in the longitude ($ms^{-1}$). +\end{itemize} + +\begin{subequations} + \begin{equation} + f = 2\Omega\sin(\theta) + \label{eq:coriolis} + \end{equation} + \begin{equation} + \frac{\delta \Phi}{\delta x} = fv + \label{eq:pu simple} + \end{equation} + \begin{equation} + \frac{\delta \Phi}{\delta y} = -fu + \label{eq:pv simple} + \end{equation} + \begin{equation} + \frac{\delta p}{\rho \delta x} = fv + \label{eq:pu simple final} + \end{equation} + \begin{equation} + \frac{\delta p}{\rho \delta y} = -fu + \label{eq:pv simple final} + \end{equation} +\end{subequations} + +Since we want to know how the atmosphere moves, we want to get the v and u components of the velocity vector (since $v$ and $u$ are the veolicites in longitude and latitude, if we combine them +in a vector we get the direction of the overall velocity). So it is time to start coding and calculating! If we look back at \autoref{alg:stream1v2}, we can see that we already have a double +for loop. In computer science, having multiple loops is generally considered a bad coding practice as you usually can just reuse the indices of the already existing loop, so you do not need to +create a new one. However this is a special case, since we are calculating new temperatures in the double for loop. If we then also would start to calculate the velocities then we would use new +information and old information at the same time. Since at index $i - 1$ the new temperature has already been calculated, but at the index $i + 1$ the old one is still there. So in order to fix +that we need a second double for loop to ensure that we always use the new temperatures. We display this specific loop in \autoref{alg:stream2}. Do note that everything in \autoref{alg:stream1v2} +is still defined and can still be used, but since we want to focus on the new code, we leave out the old code to keep it concise and to prevent clutter. + +\begin{algorithm}[hbt] + \SetAlgoLined + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlon]$}{ + $u[lat, lon] \leftarrow -\frac{p[lat + 1, lon] - p[lat - 1, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; + $v[lat, lon] \leftarrow \frac{p[lat, lon + 1] - p[lat, lon - 1]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; + } + } + \caption{The main loop of the velocity of the atmosphere calculations} + \label{alg:stream2} +\end{algorithm} + +The gradient calculation is done in \autoref{alg:gradient}. For this to work, we need the circumference of the planet. Herefore we need to assume that the planet is a sphere. While that is not +technically true, it makes little difference in practice and is good enough for our model. The equation for the circumference can be found in \autoref{eq:circumference} \cite{circumference}, +where $r$ is the radius of the planet. Here we also use the f-plane approximation, where the coriolis paramter has one value for the northern hemisphere and one value for the southern hemisphere +\cite{fplane}. + +\begin{equation} + 2 \pi r + \label{eq:circumference} +\end{equation} + +\begin{algorithm} + \SetAlgoLined + $C \leftarrow 2\pi R$ \; + $\delta y \leftarrow \frac{C}{nlat}$ \; + + \For{$lat \in [-nlat, nlat]$}{ + $\delta x[lat] \leftarrow \delta y \cos(lat \cdot \frac{\pi}{180})$ \; + + \eIf{$lat < 0$}{ + $f[lat] \leftarrow -10^{-4}$ \; + }{ + $f[lat] \leftarrow 10^{-4}$ \; + } + } + \caption{Calculating the gradient $\delta x$ (note that this algorithm is obsolete)} + \label{alg:gradient} +\end{algorithm} + +Because of the geometry of the planet and the construction of the longitude latitude grid, we run into some problems when calculating the gradient. Since the planet is not flat ("controversial +I know"\cite{simon}) whenever we reach the end of the longitude we need to loop around to get to the right spot to calculate the gradients (as the planet does not stop at the end of the +longitude line but loops around). So to fix that we use the modulus (mod) function which does the looping for us if we exceed the grid's boundaries. We do haveanother problem though, the poles. +As the latitude grows closer to the poles, they are converging on the center point of the pole. Looping around there is much more difficult so to fix it, we just do not consider that center +point in the main loop. The changed algorithm can be found in \autoref{alg:stream2v2} + +\begin{algorithm}[hbt] + \SetAlgoLined + \For{$lat \in [-nlat + 1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + $u[lat, lon] \leftarrow -\frac{p[(lat + 1) \text{ mod } nlat, lon] - p[(lat -1) \text{ mod } nlat, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; + $v[lat, lon] \leftarrow \frac{p[lat, (lon + 1) \text{ mod } nlon] - p[lat, (lon -1) \text{ mod } nlon]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; + } + } + \caption{The main loop of the velocity of the atmosphere calculations} + \label{alg:stream2v2} +\end{algorithm} + +Do note that the pressure calculation is done between the temperature calculation in \autoref{alg:stream1v2} and the $u, v$ calculations in \autoref{alg:stream2v2}. At this point our model shows +a symmetric vortex around the sun that moves with the sun. This is not very realistic as you usually have convection and air flowing from warm to cold, but we do not have that complexity yet +(due to our single layer atmosphere). \ No newline at end of file diff --git a/tex-docs/appendices/vars.tex b/tex-docs/appendices/vars.tex new file mode 100644 index 0000000..067bd9c --- /dev/null +++ b/tex-docs/appendices/vars.tex @@ -0,0 +1,54 @@ +\section{List of Variables} +Are you ever confused about what something is? Do you ever forget what a variable represents? Then I got the solution for you. The following overview will explain what each variable is and +represents. I will try to not use one variable for the same thing, though that is sometimes very difficult to do. I'll do my best. In the meantime, enjoy this exstensive list. Note that this +only applies to variables in code, every symbol in equations are explained at the equations themselves. + +\begin{itemize} + \item $R$: The Gas Constant with value $8.3144621$ ($J(mol)^{-1}K$). + \item $day$: Length of one day in seconds ($s$). + \item $year$: Length of one year in seconds ($s$). + \item $\delta t$: How much time is between each calculation run in seconds ($s$). + \item $g:$ Magnitude of gravity on the planet in $ms^{-2}$. + \item $\alpha$: By how many degrees the planet is tilted with respect to the star's plane, also called axial tilt. + \item $top$: How high the top of the atmosphere is with respect to the planet surface in meters ($m$). + \item $ins$: Amount of energy from the star that reaches the planet per unit area ($Jm^{-2}$). + \item $\epsilon$: Absorbtivity of the atmosphere, fraction of how much of the total energy is absorbed (unitless). + \item $resolution$: The amount of degrees on the latitude longitude grid that each cell has, with this setting each cell is 3 degrees latitude high and 3 degrees longitude wide. + \item $nlevels \leftarrow 10$: The amount of layers in the atmosphere. + \item $\delta t_s$: The time between calculation rounds during the spin up period in seconds ($s$). + \item $t_s$: How long we let the planet spin up in seconds ($s$). + \item $adv$: Whether we want to enable advection or not. + \item $velocity$: Whether we want to calculate the air velocity or not. + \item $adv\_boun$: How many cells away from the poles where we want to stop calculating the effects of advection. + \item $nlon$: The amount of longitude gridpoints that we use, which depends on the resolution. + \item $nlat$: The amount of latitude gridpoints that we use, which depends on the resolution. + \item $T_p$: The temperature of the planet, a 2D array representing a latitude, longitude grid cell. + \item $T_a$: The temperature of the atmosphere, a 3D array representing a grid cell on the latitude, longitude, atmospheric layer grid. + \item $\sigma$: The Stefan-Boltzmann constant equal to $5.670373 \cdot 10^{-8} \ (Wm^{-2}K^{-4})$. + \item $C_a$: Specific heat capacity of the air, equal to $1.0035 Jg^{-1}K^{-1}$. + \item $C_p$: Specific heat capacity of the planet, equal to $1.0 \cdot 10^{6} Jg^{-1}K^{-1}$. + \item $a$: Albedo, the reflectiveness of a substance. Note that $a$ is used in general functions as an array that is supplied as input. If that is the case it can be read at the top of the + algorithm. + \item $\rho$: The density of the atmosphere, a 3D array representing a grid cell on the latitude, longitude, atmospheric layer grid. + \item $\delta x$: How far apart the gridpoints are in the $x$ direction in degrees longitude. + \item $\delta y$: How far apart the gridpoints are in the $y$ direction in degrees latitude. + \item $\delta z$: How far apart the gridpoints are in the $z$ direction in $m$. + \item $heights$: How high an atmospheric layer is in $m$. + \item $\tau$: The optical depth for an atmospheric layer. + \item $\tau_0$: The optical depth at the planet surface. + \item $f_l$: The optical depth parameter. + \item $pressureProfile$: The average pressure taken over all atmospheric layers in a latitude, longitude gridcell. + \item $densityProfile$:The average density taken over all atmospheric layers in a latitude, longitude gridcell. + \item $temperatureProfile$: The average temperature taken over all atmospheric layers in a latitude, longitude gridcell. + \item $U$: Upward flux of radiation, 1D array representing an atmospheric layer. + \item $D$: Downward flux of radiation, 1D array representing an atmospheric layer. + \item $u$: The east to west air velocity in $ms^{-1}$. + \item $v$: The north to south air velocity in $ms^{-1}$. + \item $w$: The bottom to top air velocity in $ms^{-1}$. + \item $f$: The coriolis parameter. + \item $\Omega$: The rotation rate of the planet in $rads^{-1}$. + \item $p$: The pressure of a latitude, longitude, atmospheric layer gridcell. + \item $p_0$: The pressure of a latitude, longitude, atmospheric layer gridcell from the previous calculation round. + \item $\alpha_a$: The thermal diffusivity constant for air. + \item $\alpha_p$: The thermal diffusivity constant for the planet surface. +\end{itemize} \ No newline at end of file diff --git a/tex-docs/streams/Stream.aux b/tex-docs/streams/Stream.aux deleted file mode 100644 index f4cf3d7..0000000 --- a/tex-docs/streams/Stream.aux +++ /dev/null @@ -1,29 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\@setckpt{Streams/"Stream}{ -\setcounter{page}{2} -\setcounter{equation}{0} -\setcounter{enumi}{0} -\setcounter{enumii}{0} -\setcounter{enumiii}{0} -\setcounter{enumiv}{0} -\setcounter{footnote}{0} -\setcounter{mpfootnote}{0} -\setcounter{part}{0} -\setcounter{section}{0} -\setcounter{subsection}{0} -\setcounter{subsubsection}{0} -\setcounter{paragraph}{0} -\setcounter{subparagraph}{0} -\setcounter{figure}{0} -\setcounter{table}{0} -\setcounter{Item}{0} -\setcounter{Hfootnote}{0} -\setcounter{bookmark@seq@number}{1} -\setcounter{parentequation}{0} -\setcounter{AlgoLine}{0} -\setcounter{algocfline}{0} -\setcounter{algocfproc}{0} -\setcounter{algocf}{0} -\setcounter{section@level}{1} -} diff --git a/tex-docs/streams/Stream10.tex b/tex-docs/streams/Stream10.tex deleted file mode 100644 index 293f3c6..0000000 --- a/tex-docs/streams/Stream10.tex +++ /dev/null @@ -1,81 +0,0 @@ -\section{Putting Our Homemade Climate Model Through Its Paces} -Big stream this stream as we got some working code! Always great when stuff works. This stream, we tackled the radiation problem, added axial tilt to the planet, fixed vertical motion (but not -advection), added stratospheric heating and some other code clean up stuff. This means that the big rework is getting closer and closer. How exciting! -%TESTSSSS WE GOT WORKING CODE! HELLO WORLD! - -\subsection{Fixing Up the Code} -First thing to mention is that vertical advection is still broken. Why? Because the gradient in the $z$ direction is broken. This is due to finite differencing on an exponential function. The way -we calculate the differenc from one layer to the other is by differencing them (subtracting) which is always finite. Therefore we always get some inaccuracies. Usually that is fine, but with an -exponential function the differences, you guessed it, become exponentially wrong. As such, the function would eventually be so far off that the model would blow up. So we need to fix it. To -prevent a blow up, we have disabled the call to the gradient $z$ funciton in \autoref{alg:divergence layer}. This ensures that the horizontal bits still work, but the vertical stuff does not. -As always, we will try to fix this in a future stream. - -We also fixed up the radiation scheme, as shown in \autoref{alg:optical depth}. Basically we had the definition of $U[k + 1] = \text{something something} U[k + 1]$. This means that the definition -was relying on itself, which is obviously impossible and wrong. So we changed it to it's current form and it is fixed, hooray! - -Vertical motion has also been fixed, as shown in \autoref{alg:velocity}. Due to some error in the representation of the vertical motion it did not work. So we changed from that representation to -another. Now the vertical velocity is proportional to the rate of change of the pressure which does work like it should. - -\subsection{Tilting the Planet} -In order to model a planet that has seasons, like Earth, we need to tilt the planet. This has as effect that the sun is not always directly above the equator but is above a certain band around -the equator as the year moves on. This means that some hemispheres receive more/less sun based on what part of the year it is. Which corresponds to the various seasons we have on Earth. But in -order to do that, we have to change the \texttt{solar} function. The new version as shown in \autoref{alg:solar tilt} will replace \autoref{alg:solar}. Here $\alpha$ is the tilt in degrees. - -\begin{algorithm} - \SetKwInput{Input}{Input} - \SetKwInOut{Output}{Output} - \Input{insolation $ins$, latitude $lat$, longitude $lon$, time $t$, time in a day $d$} - \Output{Amount of energy $S$ that hits the planet surface at the given latitude, longitude and time combination.} - $sun\_lon \leftarrow -t \text{ mod } d$ \; - $sun\_lon \leftarrow sun\_lon \cdot \frac{360}{d}$ \; - $sun\_lat \leftarrow \alpha\cos(\frac{2t\pi}{year})$ \; - $S \leftarrow insolation\cos(\frac{\pi(lat - sun\_lat)}{180})$ \; - - \uIf{$S < 0$}{ - \Return{$0$} \; - } \uElse { - $lon\_diff \leftarrow lon - sun\_lon$ \; - $S \leftarrow S\cos(\frac{lon\_diff\pi}{180})$ \; - - \uIf{$S < 0$}{ - \uIf{$lat + sun\_lat > 90$ or $lat + sun\_lat < -90$}{ - \Return{$insolation\cos(\frac{\pi(lat + sun\_lat)}{180})\cos(\frac{lon\_diff\pi}{180})$} \; - } \uElse { - \Return{$0$} \; - } - } \uElse { - \Return{$S$} \; - } - } - \caption{Calculating the energy from the sun (or similar star) that reaches a part of the planet surface at a given latitude and time} - \label{alg:solar tilt} -\end{algorithm} - -What the code in \autoref{alg:solar tilt} does boils down to calculating the latitude and longitude of the sun and checking whether the planet receives any energy. If not return $0$ immediately. -If so we check if the difference between the sun's longitude and the planet's longitude and calculate how much energy would hit the planet given that the sun is not straight above the equator. -We do this by multiplying the energy it would receive from the sun if it were above the equator $S$ by the cosine of the difference in longitudes, which represents the tilt. Then we check again -if the planet is receiving energy, if not we check if it happens around the poles. We do this because due to the tilt it can be the case that at certain points in the year the pole is in constant -sunlight, i.e. the sun does not go down. This creates a sort of overshoot which needs to be accounted for. If it does this then we add the latitudes of the sun and the planet together and use -that to calculate the energy that would hit that spot. If it is not the case that we are around the poles and we do not receive energy, then we return $0$. If it happens to be that we do receive -energy (so no negative values) then we return $S$. - -\subsection{Adding In Some Ozone (Or Something Else That Approximates It)} -Adding in ozone in the stratosphere is hella complicated, so we leave that as an exercise to the reader as in true academic fashion. Just joking, if you want you can work on implementing ozone -however we opt not to because it is quite complicated. Instead we approximate it, which is decent enough for our purpose. We need to do it in \autoref{alg:optical depth} as we need to adjust the -$Q$. We add in a check to see if we are currently calculating the radiation in the stratosphere. If so we add some radiation extra to replicate the effect of ozone. As can be seen in -\autoref{alg:ozone}, where we only focus on the $Q$ part of \autoref{alg:optical depth}, we add in some extra radiation based on how high the current layer calculation is, which scales with the -height. - -\begin{algorithm} - \For{$level \in [0, nlevels]$}{ - $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; - \uIf{$heights[level] > 20 \cdot 10^3$}{ - $Q[level] \leftarrow Q[level] + \texttt{solar}(5, lat, lon, t) \frac{24 \cdot 60 \cdot 60(\frac{heights[level] - 20 \cdot 10^3}{10^3})^2}{30^2}$ \; - } - } - \caption{Replicating the effect of ozone} - \label{alg:ozone} -\end{algorithm} - -It is at this point that we reached the state that CLAuDE is in a testable state. This means that we have the model working in such a way that we can do some simple experiments like altering how -long a day is, what would happen if the sun would send out more energy (which usually means that it is bigger) or what would happen if you tidally lock a planet (stop it rotating completely). \ No newline at end of file diff --git a/tex-docs/streams/Stream5.tex b/tex-docs/streams/Stream5.tex deleted file mode 100644 index 6d01ae0..0000000 --- a/tex-docs/streams/Stream5.tex +++ /dev/null @@ -1,144 +0,0 @@ -\section{Up up and away! Adding More Layers to the Atmosphere} -Up until now we have neglected any vertical movement. This hampers the model, as the rising of warm air that then flows to the poles, cools down and flows back to the tropics is not possible -as the warm air cannot rise. So let us change that, let's add some vertical motion and some more layers to the atmosphere. - -Remember \autoref{eq:atmos change}? We need this equation for every layer in the atmosphere. This also means that we have to adjust the main loop of the code, which is described in -\autoref{alg:temperature with density}. The $T_a$ needs to change, we need to either add a dimension (to indicate which layer of the atmosphere we are talking about) or we need to add different -matrices for each atmosphere layer. Let us define some useful variables in \autoref{alg:more layers}. We opt for adding a dimension as that costs less memory than defining new arrays -\footnote{This has to do with pointers, creating a new object always costs a bit more space than adding a dimension as we need a pointer to the object and what type of object it is whereas with -adding a dimension we do not need this additional information as it has already been defined}. So $T_a$, and all other matrices that have to do with the atmosphere (so not $T_p$ for instance) -are no longer indexed by $lat, lon$ but are indexed by $lat, lon, layer$. - -\begin{algorithm} - $nlevels \leftarrow 4$ \; - $heights \leftarrow \text{Array with } nlevels \text{ layers, each with a uniform thickness of } \frac{100 \cdot 10^3}{nlevels} m$ \; - \caption{Definition of variables that are used throughout the code} - \label{alg:more layers} -\end{algorithm} - - - -As you can see, we have used $\delta z$ however, we have not defined it yet. Let us do that in \autoref{alg:gradient z}. - -\begin{algorithm}[hbt] - \For{$k \in [0, nlevels - 1]$}{ - $\delta z[k] \leftarrow heights[k + 1] - heights[k]$ \; - } - $\delta z[nlevels - 1] \leftarrow \delta z [nlevels - 2]$ \; - \caption{Defining $\delta z$ for later use throughout the code} - \label{alg:gradient z} -\end{algorithm} - -Of course we also need to incorporate the new layers in the divergence operator (\autoref{alg:divergence}). The new changes can be found in \autoref{alg:divergence layer}. Here we use $w$, the -vertical wind velocity. We define $w$ in the same way as $u$ and $v$, it is all zeroes (in the beginning) and has the same dimensions as $u$ and $v$. - - - -With all those changes in the functions done, let us incorporate the changes into the model itself. We now need to account for the temperature change throughout the layers. Let us look at the -atmospheric temperature equation again (\autoref{eq:atmos change}). We need to account for one more thing, the absorbtion of energy from another layer. The new equation is shown in -\autoref{eq:atmos change layer}. Here $k$ is the layer of the atmosphere, $k = -1$ means that you use $T_p$ and $k = nlevels$ means that $T_{a_{nlevels}} = 0$ as that is space. Also, let us -rewrite the equation a bit such that the variables that are repeated are only written once and stuff that is divided out is removed, which is done in \autoref{eq:atmos change layer improved}. -Let us also clean up the equation for the change in the surface temperature (\autoref{eq:surface change}) in \autoref{eq:surface change improved}. - -\begin{subequations} - \begin{equation} - \Delta T_{a_k} = \frac{\delta t (\sigma \epsilon_{k - 1}T_{a_{k - 1}}^4 + \sigma \epsilon_{k + 1}T_{a_{k + 1}}^4 - 2\epsilon_k\sigma T_{a_k}^4)}{C_a} - \label{eq:atmos change layer} - \end{equation} - \begin{equation} - \Delta T_{a_k} = \frac{\delta t \sigma (\epsilon_{k - 1}T_{a_{k - 1}}^4 + \epsilon_{k + 1}T_{a_{k + 1}}^4 - 2\epsilon_kT_{a_k}^4)}{C_a} - \label{eq:atmos change layer improved} - \end{equation} - \begin{equation} - \Delta T_p = \frac{\delta t (S + \sigma(4\epsilon_pT_a^4 - 4T_p^4))}{4C_p} - \label{eq:surface change improved} - \end{equation} -\end{subequations} - -With the changes made to the equation, we need to make those changes in the code as well. We need to add the new dimension to all matrices except $T_p$ and $a$ as they are unaffected (with -regards to the storage of the values) by the addition of multiple atmospheric layers. Every other matrix is affected. The new code can be found in \autoref{alg:temperature layer}. - -\begin{algorithm}[hbt] - \SetAlgoLined - - \While{\texttt{TRUE}}{ - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ - \For{$layer \in [0, nlevels]$}{ - $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + \sigma(4\epsilon[0](T_a[lat, lon, 0])^4 - 4(T_p[lat, lon])^4))} - {4C_p[lat, lon]}$ \; - \uIf{$layer == 0$}{ - $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma((T_p[lat, lon])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} - {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; - }\uElseIf{$layer == nlevels - 1$}{ - $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma(\epsilon[layer - 1](T_a[lat, lon, layer - 1])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} - {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; - }\uElse{ - $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma(\epsilon[layer - 1](T_a[lat, lon, layer - 1])^4 + \epsilon[layer + 1]T_a[lat, lon, layer + 1] - - 2\epsilon[layer](T_a[lat, lon, layer])^4)}{\rho[lat, lon, layer]C_a\delta z[layer]}$ \; - } - $t \leftarrow t + \delta t$ \; - } - } - } - } - \caption{The main loop of the temperature calculations} - \label{alg:temperature layer} -\end{algorithm} - -We also need to initialise the $\epsilon$ value for each layer. We do that in \autoref{alg:epsilon}. - -\begin{algorithm} - $\epsilon[0] \leftarrow 0.75$ \; - \For{$i \in [1, nlevels]$}{ - $\epsilon[i] \leftarrow 0.5\epsilon[i - 1]$ - } - \caption{Intialisation of the insulation of each layer (also known as $\epsilon$)} - \label{alg:epsilon} -\end{algorithm} - -Now we need to add vertical winds, or in other words add the $w$ component of the velocity vectors. We do that by editing \autoref{alg:stream3}. We change it to \autoref{alg:velocity}. Here we -use gravity ($g$) instead of the coriolis force ($f$) and calculate the change in pressure. Therefore we need to store a copy of the pressure before we do any calculations. This needs to be a -copy due to aliasing \footnote{Aliasing is assigning a different name to a variable, while it remains the same variable. Take for instance that we declare a variable $x$ and set it to be $4$. -Then we say $y \leftarrow x$, which you might think is the same as saying they $y \leftarrow 4$ but behind the screen it is pointing to $x$. So if $x$ changes, then so does $y$.} - -\begin{algorithm} - $S_{xu} \leftarrow \texttt{gradient\_x}(u, lan, lon)$ \; - $S_{yu} \leftarrow \texttt{gradient\_y}(u, lan, lon)$ \; - $S_{xv} \leftarrow \texttt{gradient\_x}(v, lan, lon)$ \; - $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; - $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; - $S_{py} \leftarrow \texttt{gradient\_y}(p, lan, lon)$ \; - \While{\texttt{TRUE}}{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - \For{$layer \in [0, nlevels]$}{ - $u[lan, lon, layer] \leftarrow u[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xu} - v[lat, lon, layer]S_{yu} + f[lat]v[lat, lon, layer] - S_{px}}{\rho}$ \; - $v[lan, lon, layer] \leftarrow v[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xv} - v[lat, lon, layer]S_{yv} - f[lat]u[lat, lon, layer] - S_{py}}{\rho}$ \; - $w[lan, lon, layer] \leftarrow w[lat, lon, layer] - \frac{p[lat, lon, layer] - p_o[lat, lon, layer]}{\delta t\rho[lat, lon, layer]g}$ \; - } - } - } - - $p_o \leftarrow copy(p)$ \; - } - \caption{Calculating the flow of the atmosphere (wind)} - \label{alg:velocity} -\end{algorithm} - -Lastly, we need to add the correct indices to the advection algorithm \autoref{alg:advectionfix}. Let us add it, with \autoref{alg:advection layer} as a result. Here the ':' means all indices -of the 3 dimensional matrix. - -\begin{algorithm} - $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; - $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; - $boundary \leftarrow 7$ \; - \While{\texttt{TRUE}}{ - $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; - $T_a \leftarrow T_a - 0.5T_{add}[boundary:-boundary, :, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + boundary, nlat - boundary]$. \; - $\rho[boundary: -boundary, :, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + boundary, nlat - boundary]$ \; - $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - } - \caption{The main loop for calculating the effects of advection} - \label{alg:advection layer} -\end{algorithm} \ No newline at end of file diff --git a/tex-docs/streams/Stream6.tex b/tex-docs/streams/Stream6.tex deleted file mode 100644 index 03cb526..0000000 --- a/tex-docs/streams/Stream6.tex +++ /dev/null @@ -1,25 +0,0 @@ -\section{Making a Dummy THICC Atmospheric Model*} -* The naming of this section is decided by the stream name, I did not come up with this \cite{twitch}. During this stream, a lot of plotting improvements have been made, which is not the scope of -this manual and hence has been left out. The plan was to add vertical momentum and advection, though things did not go according to plan\dots - -\subsection{Discovering That Things Are Broken} -While trying to add vertical momentum, it appears that some parts of the model are broken in their current state. The horizontal advection is one of the things that is broken. If you recall, -we needed to use the Laplacian operator in the advection equations (as shown in \autoref{eq:diffusion}, diffusion is considered a part of advection since diffusion transports energy and matter -which is what advection does as well). The Laplacian operator (as shown in \autoref{alg:laplacian layer}) did not work. This is because there was a misplaced bracket causing weird numerical errors. -This has been fixed in the code (but was never present in the manual, yay for me) and can be safely enabled, though for this stream we disabled the Laplacian operator as it has a small effect on -the total advection (and because it was at this time broken). %The Laplacian has been re-enabled in Stream 8 (\autoref{sec:stream8}). - -Another thing that we found out was broken is the vertical momentum. We tried to add it, ran into problems and just set it to 0 to fix the other problems that occured. One of those problems was -a wrong initialisation of the density. We basically told the model that the density is the same on every layer of the atmosphere, which is obviously not true. Hence we need to adjust that. The -new initialisation is described in \autoref{alg:density}. Note that the $\rho[:,: i]$ notation means that for every index in the first and second dimension, only change the value for the index $i$ -in the third dimension. As soon as the vertical momentum has been fixed it will be fixed in the correct spot. If a lot of the code changes then it will probably be in another section and I will -insert a reference to that section. - -\begin{algorithm} - $\rho[:, :, 0] \leftarrow 1.3$ \; - \For{$i \in [1, nlevels-1]$}{ - $\rho[:, :, i] \leftarrow 0.1\rho[:, :, i - 1]$ - } - \caption{Initialisation of the air density $\rho$} - \label{alg:density} -\end{algorithm} \ No newline at end of file diff --git a/tex-docs/streams/Stream7.tex b/tex-docs/streams/Stream7.tex deleted file mode 100644 index 95aa9e6..0000000 --- a/tex-docs/streams/Stream7.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{Using Python to Model the Earth's Atmosphere} -This stream Simon was not feeling that well and it felt like his brain was not working, so be wary of errors! You have been warned. also the resolutin (size of an individual cell on the latitude -longitude grid) has been decreased to 5 degrees per cell instead of 3 degrees. - -\subsection{Interpolating the Air Density} -In order to interpolate (see \autoref{sec:interpolation}) the air density, we need data. However currently we are just guessing the air density at higher levels, instead of taking real values. -So let us change that. For that we are going to use the U.S. Standard Atmosphere, an industry standard measure of the atmosphere on Earth \cite{usatmosp}. This data was provided in a text -(\texttt{TXT}) file which of course needs to be read in order for the data to be used in the model. Here we only care for the density and the temperature at a specific height. So the text file -only contains those two columns of the data (and the height in km of course as that is the index of the row, the property that uniquely identifies a row). - -With that in mind, let's get coding and importing the data. We do this in \autoref{alg:usatmosp}. As one can see we do not specify how to open the file or how to split the read line, as this -is language specific and not interesting to describe in detail. I refer you to the internet to search for how to open a text file in the language you are working in. Keep in mind in which -magnitude you are working and in which magnitude the data is. If you work with $km$ for height and the data is in $m$, you need to account for that somewhere by either transforming the imported -data or work in the other magnitude. - -\begin{algorithm} - $data \leftarrow \text{open text file containing the us standard atmosphere data}$ \; - \ForEach{$line \in data$}{ - Split $line$ into three components, $sh, st$ and $sd$, representing the height, temperature and density respectively \; - $standardHeight.add(sh)$ \; - $standardTemperature.add(st)$ \; - $standardDensity.add(sd)$ \; - } - - $densityProfile \leftarrow \texttt{interpolate}(heights, standardHeight, standardDensity)$ \; - $temperatureProfile \leftarrow \texttt{interpolate}(heights, standardHeight, standardTemperature)$ \; - - \For{$alt \in [0, nlevels]$}{ - $\rho[:, :, alt] \leftarrow densityProfile[alt]$ \; - $T_a[:, :, alt] \leftarrow temperatureProfile[alt]$ \; - } - \caption{Loading in the U.S. Standard Atmosphere} - \label{alg:usatmosp} -\end{algorithm} - -Note that the function \texttt{interpolate} takes three arguments, the first one being the data points that we want to have values for, the second one is the data points that we know and the -third one is the values for the data points that we know. This function may or may not exist in your programming language of choice, which might mean that you have to write it yourself. -The formula that we use for interpolation can be found in \autoref{eq:interpolation}, though you still need to figure out what value you need for $\lambda$ (see \autoref{sec:interpolation}). -This is left as an exercise for the reader. - -\subsection{Fixing Vertical Motion} -Another attempt was made at fixing the vertical motion. The changes are incorporated in \autoref{alg:advection layer}. Do keep in mind that the low air density in the upper layers messes a lot -with the vertical motion. In other words, it kinda works but not really. Another idea to help fix it, is to introduce a variable called $top$ which indicates the highest point that the -atmosphere may have. This value is initialised as $8 \cdot 10^3$ in meters (so 8 $km$). We then change the definition of $heights$ to: An array of uniform thickness of $\frac{top}{nlevels} m$. -We also added the $\delta z$ to \autoref{alg:temperature layer} as that was something that was still missing. - -The current theory why the vertical velocity is not right is that the vertical thermodynamics may be wrong. This will be investigated further and we will report on this in future sections. \ No newline at end of file diff --git a/tex-docs/streams/Stream8.tex b/tex-docs/streams/Stream8.tex deleted file mode 100644 index 34b8549..0000000 --- a/tex-docs/streams/Stream8.tex +++ /dev/null @@ -1,117 +0,0 @@ -\section{Getting Radiation Right in our Climate Model! 3D Motion Here We Come} \label{sec:stream8} -The time has come to finally fix 3D motion. For this to work, we need to use a radiation scheme, which Simon \sout{shamelessly stole} got inspired by the Isca project \cite{isca}. So he followed -the references and found a paper which he is going to use in our model \cite{greyRad}. Great, so let's get into it shall we. - -\subsection{Grey Radiation Scheme} -A radiation scheme is a model for how energy is redistributed using light in a system. Such a model is a Grey radiation scheme if you split it into two parts, short and long wavelength radiation. -So you have two redistribution systems, one for short wavelength light and one for long wavelength light. Another assumption we make when using the Grey radiation scheme, is that the atmosphere -is transparent to short wavelength radiation, meaning it lets through light with short wavelengths. Additionally we use a two stream approximation, which means that we have a stream of radiation -going up, and another stream of radiation going down. Note that these two streams are both long wavelength radiation, because we said earlier we assume the atmosphere completely ignores short -wavelength radiation. - -The two long wavelength radiation streams are described in \autoref{eq:upward radiation} and \autoref{eq:downward radiation} \cite{greyRad}. In those equations, the symbols are: - -\begin{itemize} - \item $U$: Upward flux. - \item $D$: Downward flux. - \item $B$: The Stefan-Boltzmann equation (see \autoref{eq:stefan-boltzmann}). - \item $\tau$: Optical depth. -\end{itemize} - -\begin{subequations} - \begin{equation} - \frac{dU}{d\tau} = U - B - \label{eq:upward radiation} - \end{equation} - \begin{equation} - \frac{dD}{d\tau} = B - D - \label{eq:downward radiation} - \end{equation} -\end{subequations} - -With \autoref{eq:upward radiation} and \autoref{eq:downward radiation} written down, we can discuss how they work. These equations need a boundary condition to work, a starting point if you like. -For those equations the boundary conditions are that $U$ is at the surface equal to $B$ and that $D$ at the top of the atmosphere is equal to $0$. Meaning that in the beginning the top of the -atmosphere has no downward flux as there is no heat there, and that the bottom of the atmosphere has a lot of upward flux as most if not all of the heat is located there. Then after the spin up -time this should stabilise. We are interested in the change of the fluxes, so $dU$ and $dD$, to get those we need to multiply the right hand side by $d\tau$. Then we have the flow of radiation -that we need. However we cannot solely use these two equations to calculate the heat of a given layer. For that we need a few more components. These are described in \autoref{eq:heat layer}. -Here $Q_R$ is the amount of heat in a layer, $c_p$ is the specific heat capacity of dry air (our atmosphere), $\rho$ is the density of the air in that layer and $\delta z$ is the change in height. -$\delta U - D$ are the change in net radiation, meaning the amount of radiation that is left over after you transferred the upward and downward flux. See it as incoming and outgoing energy for a -given layer, the net change (either cooling down or heating up) is what remains after you have subtracted the incoming energy from the outgoing energy. While this explanation is not entirely true -(as flux is not entirely equivalent to energy), it explains the concept the best. - -\begin{equation} - Q_R = \frac{1}{c_p\rho}\frac{\delta(U - D)}{\delta z} - \label{eq:heat layer} -\end{equation} - -Now only one question remains: what is optical depth? Optical depth is the amount of work a photon has had to do to get to a certain point. This might sound really vague, but bear with me. -Optical depth describes how much stuff a certain photon has had to go through to get to a point. As you'd expect this is $0$ at the top of the atmosphere as space is a big vacuum so no stuff to -move through, so no work. Then the further the photon moves into the atmosphere, the more work the photon has had to do to get there. This is because it now needs to move through gases, like air, -water vapour and other gases. Hence the closer the photon gets to the surface of the planet, the larger the optical depth is because the photon has had to work more to get there. This phenomenon -is described in \autoref{eq:optical depth}. The symbols in the equation mean: - -\begin{itemize} - \item $\tau_0$: Optical depth at the surface. - \item $p$: Atmospheric pressure ($Pa$). - \item $p_s$: Atmospheric pressure at the surface ($Pa$). - \item $f_l$: The linear optical depth parameter, with a value of 0.1. -\end{itemize} - -\begin{equation} - \tau = \tau_0[f_l(\frac{p}{p_s}) + (1 - f_l)(\frac{p}{p_s})^4] - \label{eq:optical depth} -\end{equation} - -As one can see, \autoref{eq:optical depth} has two parts, a linear part and a quatric part (to the power $4$). The quatric term approximates the structure of water vapour in the atmosphere, which -roughly scales with $\frac{1}{4}$ with respect to the height. The linear term is present to fix numerical behaviour because this is an approximation which will not be completely correct (that's -why it is an approximation) so we add this term to make it roughly right. The same thing holds for $f_l$ which can be manually tuned to fix weird numerical behaviour. - - -\subsection{Getting the equations to code} -With these equations in our mind, let's get coding. First we add the pressure profile, the pressure of all atmospheric layers at a lat lon point. We need this to accurately represent the optical -depth per atmospheric layer. Then we need to use the pressure profile with regards to \autoref{eq:optical depth}. The resulting code can be found in \autoref{alg:optical depth}. This algorithm -replaces the temperature calculations we have done in \autoref{alg:temperature layer}, as this is basically a better version of the calculations done in that algorithm. $f_l$ has a value of $0.1$ -and is located near all the other constants in the code, henceforth we will refer to this section in the code as the control panel, since most if not all of the constants can be tweaked here. -$\tau_0$ is a function that gives the surface optical depth for a given latitude. The corresponding equation can be found in \autoref{eq:optical depth surface} \cite{simon}. Translating this -into code is left as an exercise to the reader. $U[0]$ is the boundary condition discussed before (being the same as \autoref{eq:stefan-boltzmann}), just as $D[nlevels]$ is the boundary condition. -$S_z$ represents the call to \autoref{alg:gradient z layer}. \texttt{solar} represents the call to \autoref{alg:solar}. - -\begin{algorithm} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlon]$}{ - $pressureProfile \leftarrow p[i,j,:]$ \; - $\tau = \tau_0(lat)f_l\frac{pressureProfile}{pressureProfile[0]} + (1 - f_l)(\frac{pressureProfile}{pressureProfile[0]})^4)$ \; - $U[0] \leftarrow \sigma T_p[lat, lon]^4$ \; - - \For{$level \in [1, nlevels]$}{ - $U[level] \leftarrow U[level - 1] - \frac{(\tau[level] - \tau[level - 1])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level - 1] - \tau[level])}$ \; - } - - $D[nlevels - 1] \leftarrow 0$ \; - - \For{$level \in [nlevels - 1, 0]$}{ - $D[level] \leftarrow D[level + 1] - \frac{(\tau[level + 1] - \tau[level])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level] - \tau[level + 1])}$ \; - } - - \For{$level \in [0, nlevels]$}{ - $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; - } - - $T_a[lat, lon, :] \leftarrow T_a[lat, lon, :] + Q$ \; - - $S \leftarrow \texttt{solar}(I, lat, lon, t)$ \; - - $T_p[lat, lon] \leftarrow T_p[lat, lon] \frac{\delta t((1 - a[lat, lon]) S + S_z(D, 0, 0, 0) - \sigma T_p[lat, lon]^4)}{C_p[lat ,lon]}$ \; - } - } - \caption{Adding in radiation} - \label{alg:optical depth} -\end{algorithm} - -\begin{equation} - \tau_0 = 3.75 + \cos(lat \frac{\pi}{90})\frac{4.5}{2} - \label{eq:optical depth surface} -\end{equation} - -%Note that in this form, it did not work on stream yet. This may be due to a coding error or to a missing equation, constant or something similar. If it turns out to be a simple fix, then it will -%be fixed in this section. If a lot of other things change in order for the fix to work, then it will probably be a seperate section with a reference to that section here. \ No newline at end of file diff --git a/tex-docs/streams/Stream9.tex b/tex-docs/streams/Stream9.tex deleted file mode 100644 index 921fb6c..0000000 --- a/tex-docs/streams/Stream9.tex +++ /dev/null @@ -1,79 +0,0 @@ -\section{Starting to Deal With the Poles} -It is time to deal with the pole situation. The north and south poles that is, not the lovely people over in Poland. We run into problems because the latitude longitude grid cells become to small -near the poles. Therefore, the magnitudes no longer fit into one cell and overflow into other cells which makes everything kind of funky. So we need to fix that, and we do that by a planar -approximation. - -\subsection{The Theory Behind the Planar Approximation} -As said earlier, the grid cells on the latitude longitude grid get closer together the closer you get to the poles which poses problems. To fix this, we will be using a planar approximation of -the poles. What this means is that we will map the 3D grid near the poles onto a 2D plane parallel to the poles, as if we put a giant flat plane in the exact center of the poles and draw lines -from the grid directly upwards to the plane. For a visual representation, please consult the stream with timestamp 1:38:25 \cite{polarPlane}, which includes some explanation. In the streamm we -use $r$ to indicate the radius of the planet (which we assume is a sphere), $\theta$ for the longitude and $\lambda$ for the latitude. So we have spherical coordinates, which we need to transform -into $x$ and $y$ coordinates on the plane. We also need the distance between the center point (the point where the plane touches the planet which is the center of the pole) and the projected -point on the plane from the grid (the location on the plane where a line from the gird upwards to the plane hits it). This distance is denoted by $a$ (Simon chose this one, not me). We then get -the following equations as shown in \autoref{eq:polar distance}, \autoref{eq:polar x} and \autoref{polar y}. - -\begin{subequations} - \begin{equation} - a = r \cos(\theta) - \label{eq:polar distance} - \end{equation} - \begin{equation} - x = a \sin(\lambda) - \label{eq:polar x} - \end{equation} - \begin{equation} - y = a \cos(\lambda) - \label{eq:polar y} - \end{equation} -\end{subequations} - -But what if we know $x$ and $y$ and want to know $\theta$ and $\lambda$? Pythagoras' Theorem then comes into play \cite{pythagoras}. We know that (due to Pythagoras) \autoref{eq:pythagoras} must -always be true. Then if we substitue $a$ by $\sqrt{x^2 + y^2}$ in \autoref{eq:polar distance} we get \autoref{eq:polar theta1}. Then we transform that equation such that we only have $\theta$ on -one side and the rest on the other side (since we want to know $\theta$) and we get \autoref{eq:polar theta3}. -\begin{equation} - x^2 + y^2 = a^2 - \label{eq:pythagoras} -\end{equation} - -\begin{subequations} - \begin{equation} - \sqrt{x^2 + y^2} = r\cos(\theta) - \label{eq:polar theta1} - \end{equation} - \begin{equation} - \frac{\sqrt{x^2 + y^2}}{r} = \cos(\theta) - \label{eq:polar theta2} - \end{equation} - \begin{equation} - \cos^{-1}(\frac{\sqrt{x^2 + y^2}}{r}) = \theta - \label{eq:polar theta3} - \end{equation} -\end{subequations} - -For $\lambda$ we need another trigonometric function which is the tangent ($\tan$). The tangent is defined in \autoref{eq:tan}. If we then take a look at \autoref{eq:polar x} and -\autoref{eq:polar y}, we see that $\lambda$ is present in both equations. So we need to use both to get $\lambda$ \footnote{Yes you could only use one but since we both know $x$ and $y$ it is a -bit easier to use both than to only use one as you need to know $\theta$ at that point as well which may or may not be the case.}. So let's combine \autoref{eq:polar x} and \autoref{eq:polar y} -in \autoref{eq:polar lambda1}, transform it such that we end up with only $\lambda$ on one side and the rest on the other side and we end up with \autoref{eq:polar lambda3}. - -\begin{equation} - \tan(\alpha) = \frac{\sin(\alpha)}{\cos(\alpha)} - \label{eq:tan} -\end{equation} - -\begin{subequations} - \begin{equation} - \frac{x}{y} = \frac{a\sin(\lambda)}{a\cos(\lambda)} = \frac{\sin(\lambda)}{\cos(\lambda)} - \label{eq:polar lambda1} - \end{equation} - \begin{equation} - \frac{x}{y} = \tan(\lambda) - \label{eq:polar lambda2} - \end{equation} - \begin{equation} - \lambda = \tan^{-1}(\frac{x}{y}) - \label{eq:polar lambda3} - \end{equation} -\end{subequations} - -With this math we can fix a lot of stuff in the model. With this we can resample (mapping from sphere to plane) the pressure, density, temperarature and advection to the plane and ensure that -there are no more overflows and funky business. The implementation (code) for this will be done in a follow up stream, so stay tuned! \ No newline at end of file diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index 2e6b07a..8ec0b61 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -111,4 +111,28 @@ boundary. } \caption{The main loop for calculating the effects of advection} \label{alg:advectionfix} -\end{algorithm} \ No newline at end of file +\end{algorithm} + +\subsection{Layers, layers and layers} +With the atmospheric layers, and all matrices that have an extra dimension to account for it, we need to add the correct indices to the advection algorithm \autoref{alg:advectionfix}. Let us +add it, with \autoref{alg:advection layer} as a result. Here the ':' means all indices of the 3 dimensional matrix. + +\begin{algorithm} + $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \; + $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \; + $boundary \leftarrow 7$ \; + \While{\texttt{TRUE}}{ + $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; + $T_a \leftarrow T_a - 0.5T_{add}[boundary:-boundary, :, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + boundary, nlat - boundary]$. \; + $\rho[boundary: -boundary, :, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + boundary, nlat - boundary]$ \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + } + \caption{The main loop for calculating the effects of advection} + \label{alg:advection layer} +\end{algorithm} + +First thing to mention is that vertical advection is still broken. Why? Because the gradient in the $z$ direction is broken. This is due to finite differencing on an exponential function. The way +we calculate the difference from one layer to the other is by differencing them (subtracting) which is always finite. Therefore we always get some inaccuracies. Usually that is fine, but with an +exponential function the differences, you guessed it, become exponentially wrong. As such, the function would eventually be so far off that the model would blow up. So we need to fix it. To +prevent a blow up, we have disabled the call to the gradient $z$ function in \autoref{alg:divergence}. This ensures that the horizontal bits still work, but the vertical stuff does not. +As always, we will try to fix this in a future stream. \ No newline at end of file diff --git a/tex-docs/topics/control_panel.tex b/tex-docs/topics/control_panel.tex index 1e4ebd9..d03cfe1 100644 --- a/tex-docs/topics/control_panel.tex +++ b/tex-docs/topics/control_panel.tex @@ -43,7 +43,7 @@ mass units ($u$)\cite{mole}. This is not a physical constant perse, but more lik way more intuitive and are assumed to be known. \subsubsection{The Stefan-Boltzmann Constant} -The Stefan-Boltzmann constant, $\sigma = 5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann} is used in the Stefan-Boltzmann law (more on that in %insert reference here). +The Stefan-Boltzmann constant, $\sigma = 5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann} is used in the Stefan-Boltzmann law (more on that in \autoref{sec:first thermolaw}). \subsection{Planet Specific Variables} The following set of variables vary per planet, that's why we call them variables since they vary. Makes sense right? We add them here as we will use them throughout the manual. The advantage @@ -80,7 +80,7 @@ all the relevant variables that are unique to a planet, or well not necessarily $top \leftarrow 50*10^3$ \Comment*[l]{How high the top of the atmosphere is with respect to the planet surface in meters ($m$)} $ins \leftarrow 1370$ \Comment*[l]{Amount of energy from the star that reaches the planet per unit area ($Jm^{-2}$)} $\epsilon \leftarrow 0.75$ \Comment*[l]{Absorbtivity of the atmosphere, fraction of how much of the total energy is absorbed (unitless)} - %$R \leftarrow 6.4*10^6$ \Comment*[l]{The radius of the planet in meters ($m$)} + $r \leftarrow 6.4*10^6$ \Comment*[l]{The radius of the planet in meters ($m$)} \end{algorithm} \subsubsection{Model Specific Parameters} @@ -101,4 +101,21 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea $t_s \leftarrow 5*day$ \Comment*[l]{How long we let the planet spin up in seconds ($s$)} $adv \leftarrow \texttt{FALSE}$ \Comment*[l]{Whether we want to enable advection or not} $adv\_boun \leftarrow 8$ \Comment*[l]{How many cells away from the poles where we want to stop calculating the effects of advection} + $C_a \leftarrow 287$ \Comment*[l]{Heat capacity of the atmosphere in $JKg^{-1}K^{-1}$} + $C_p \leftarrow 1 \cdot 10^6$ \Comment*[l]{Heat capacity of the planet in $JKg^{-1}K^{-1}$} + $\delta y \leftarrow \frac{2\pi r}{nlat}$ \Comment*[l]{How far apart the gridpoints in the y direction are (degrees latitude)} + + $count \leftarrow 0$ \; + \For{$j \in [0, top]$}{ + $heights[j] \leftarrow count$ \Comment*[l]{The height of a layer} + $count \leftarrow count + \frac{top}{nlevels}$ \; + } + + \For{$i \in [0, nlat]$}{ + $\delta x[i] \leftarrow \delta y\cos(lat[i]\frac{\pi}{180})$ \Comment*[l]{How far apart the gridpoints in the x direction are (degrees longitude)} + } + + \For{$k \in [0, nlevels - 1]$}{ + $\delta z[k] \leftarrow heights[k + 1] - heights$ \Comment*[l]{How far apart the gridpoints in the z direction are ($m$)} + } \end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex index 0387a3a..dd129f8 100644 --- a/tex-docs/topics/master.tex +++ b/tex-docs/topics/master.tex @@ -27,8 +27,7 @@ calculations in \autoref{alg:temperature with density} we would calculate the ve Now to dynamically enable/disable the simulation of flow and advection we need to add the spin-up calculations to the main loop. So in \autoref{alg:stream4v1}, before \autoref{alg:temperature with density} we add \autoref{alg:spinup}. What it does is it changes the timestep when spinnning up and disables flow simulation, and when a week has passed it reduces -the timestep and enables flow simulation. At this point in time, the advection is not dynamically enabled/disabled but it is done by the programmer. Currently it will break the model, so I -recommend leaving it on \texttt{FALSE} until it is fixed in \autoref{sec:advectionfix}. +the timestep and enables flow simulation. At this point in time, the advection is not dynamically enabled/disabled but it is done by the programmer. \begin{algorithm} \eIf{$t < 7day$}{ @@ -40,4 +39,57 @@ recommend leaving it on \texttt{FALSE} until it is fixed in \autoref{sec:advecti } \caption{The spin-up block dynamically enabling or disabling flow simulation} \label{alg:spinup} -\end{algorithm} \ No newline at end of file +\end{algorithm} + +\subsection{Non-uniform air density} +While air density on the surface is in general consistent, this does not hold if you move up through the atmosphere. The planet will pull air down due to gravity, which means that more air is at +the planet surface than at the top of the atmosphere. Hence the air density changes throughout the atmosphere and we need to account for that. This is done in \autoref{alg:density}. Because this +is used in radiation, velocity and advection, we initialise this in the master file. Though one could argue it could be part of the control panel, we opt not to include any code other than +variable declarations in the control panel for greater clarity. This also means that we give the user the option to have only one layer (by skipping implementing this algorithm). Note that the +$\rho[:,: i]$ notation means that for every index in the first and second dimension, only change the value for the index $i$ in the third dimension. + +\begin{algorithm} + $\rho[:, :, 0] \leftarrow 1.3$ \; + \For{$i \in [1, nlevels-1]$}{ + $\rho[:, :, i] \leftarrow 0.1\rho[:, :, i - 1]$ + } + \caption{Initialisation of the air density $\rho$} + \label{alg:density} +\end{algorithm} + +\subsection{Interpolating the Air Density} +In order to interpolate (see \autoref{sec:interpolation}) the air density, to have a better estimation at each grid cell, we need data. However currently we are just guessing the air density at +higher levels, instead of taking real values. So let us change that. For that we are going to use the U.S. Standard Atmosphere, an industry standard measure of the atmosphere on Earth +\cite{usatmosp}. This data was provided in a text (\texttt{TXT}) file which of course needs to be read in order for the data to be used in the model. Here we only care for the density and the +temperature at a specific height. So the text file only contains those two columns of the data (and the height in km of course as that is the index of the row, the property that uniquely +identifies a row). + +With that in mind, let's get coding and importing the data. We do this in \autoref{alg:usatmosp}. As one can see we do not specify how to open the file or how to split the read line, as this +is language specific and not interesting to describe in detail. I refer you to the internet to search for how to open a text file in the language you are working in. Keep in mind in which +magnitude you are working and in which magnitude the data is. If you work with $km$ for height and the data is in $m$, you need to account for that somewhere by either transforming the imported +data or work in the other magnitude. + +\begin{algorithm} + $data \leftarrow \text{open text file containing the us standard atmosphere data}$ \; + \ForEach{$line \in data$}{ + Split $line$ into three components, $sh, st$ and $sd$, representing the height, temperature and density respectively \; + $standardHeight.add(sh)$ \; + $standardTemperature.add(st)$ \; + $standardDensity.add(sd)$ \; + } + + $densityProfile \leftarrow \texttt{interpolate}(heights, standardHeight, standardDensity)$ \; + $temperatureProfile \leftarrow \texttt{interpolate}(heights, standardHeight, standardTemperature)$ \; + + \For{$alt \in [0, nlevels]$}{ + $\rho[:, :, alt] \leftarrow densityProfile[alt]$ \; + $T_a[:, :, alt] \leftarrow temperatureProfile[alt]$ \; + } + \caption{Loading in the U.S. Standard Atmosphere} + \label{alg:usatmosp} +\end{algorithm} + +Note that the function \texttt{interpolate} takes three arguments, the first one being the data points that we want to have values for, the second one is the data points that we know and the +third one is the values for the data points that we know. This function may or may not exist in your programming language of choice, which might mean that you have to write it yourself. +The formula that we use for interpolation can be found in \autoref{eq:interpolation}, though you still need to figure out what value you need for $\lambda$ (see \autoref{sec:interpolation}). +This is left as an exercise for the reader. \ No newline at end of file diff --git a/tex-docs/topics/radiation.tex b/tex-docs/topics/radiation.tex index d4aaa59..b689fbb 100644 --- a/tex-docs/topics/radiation.tex +++ b/tex-docs/topics/radiation.tex @@ -1,8 +1,8 @@ -\section{Radiation} +\section{Radiation} \label{sec:rad} Radiation is energy waves, some waves are visible like light, others are invisible like radio signals. As is the basis for physics, energy cannot be created nor destroyed, only changed from one form to another. -\subsection{The First Law of Thermodynamics and the Stefan-Boltzmann Equation} +\subsection{The First Law of Thermodynamics and the Stefan-Boltzmann Equation} \label{sec:first thermolaw} If energy goes into an object it must equal the outflowing energy plus the change of internal energy. Which is exactly what happens with the atmosphere. Radiation from the sun comes in, and radiation from the atmosphere goes out. And along the way we heat the atmosphere and the planet which causes less radiation to be emitted than received. At least, that is the idea for Earth which may not apply to all planets. Let one thing be clear, more radiation cannot be emitted than is inserted, unless the planet and atmosphere are cooling. Anyway, we assume that the planet is a black @@ -214,12 +214,12 @@ to an array. We do this to allow adding in oceans or other terrain in the future \begin{algorithm}[hbt] $a \leftarrow 0.2$ \; - $C_p \leftarrow 10^7$ \; - \caption{Defining the oceans} + $C_p \leftarrow 10^6$ \; + \caption{Defining albedo} \label{alg:albedo} \end{algorithm} -Now that we have that defined, we need to adjust the main loop of the program (\autoref{alg:stream1v2}). For clarity, all the defined constants have been left out. We need to add albedo into the +Now that we have that defined, we need to adjust the main loop of the program (\autoref{alg:stream1v2}). We need to add albedo into the equation and change $C_p$ from a constant to an array. The algorithm after these changes can be found in \autoref{alg:stream2v3}. We multiply by $1 - a$ since albedo represents how much energy is reflected instead of absorbed, where we need the amount that is absorbed which is exactly equal to $1$ minus the amount that is reflected. @@ -240,6 +240,9 @@ reflected instead of absorbed, where we need the amount that is absorbed which i \end{algorithm} \subsection{Temperature with Varying Density} +The air density is not at all points exactly the same. This may be due to the winds blowing, or due to height changes in the terrain. We need to account for that, which is done in +\autoref{alg:temperature with density}. + \begin{algorithm}[hbt] \SetAlgoLined \SetKwInput{Input}{Input} @@ -272,4 +275,320 @@ being picked \cite{uniformdist}. } \caption{Varying the albedo of the planet} \label{alg:albedo variance} -\end{algorithm} \ No newline at end of file +\end{algorithm} + +\subsection{Adding Layers} +Remember \autoref{eq:atmos change}? We need this equation for every layer in the atmosphere. This also means that we have to adjust the main calculation of the code, which is described in +\autoref{alg:temperature with density}. The $T_a$ needs to change, we need to either add a dimension (to indicate which layer of the atmosphere we are talking about) or we need to add different +matrices for each atmosphere layer. We opt for adding a dimension as that costs less memory than defining new arrays +\footnote{This has to do with pointers, creating a new object always costs a bit more space than adding a dimension as we need a pointer to the object and what type of object it is whereas with +adding a dimension we do not need this additional information as it has already been defined}. So $T_a$, and all other matrices that have to do with the atmosphere (so not $T_p$ for instance) +are no longer indexed by $lat, lon$ but are indexed by $lat, lon, layer$. We need to account for one more thing, the absorbtion of energy from another layer. The new equation is shown in +\autoref{eq:atmos change layer}. Here $k$ is the layer of the atmosphere, $k = -1$ means that you use $T_p$ and $k = nlevels$ means that $T_{a_{nlevels}} = 0$ as that is space. Also, let us +rewrite the equation a bit such that the variables that are repeated are only written once and stuff that is divided out is removed, which is done in \autoref{eq:atmos change layer improved}. +Let us also clean up the equation for the change in the surface temperature (\autoref{eq:surface change}) in \autoref{eq:surface change improved}. + +\begin{subequations} + \begin{equation} + \Delta T_{a_k} = \frac{\delta t (\sigma \epsilon_{k - 1}T_{a_{k - 1}}^4 + \sigma \epsilon_{k + 1}T_{a_{k + 1}}^4 - 2\epsilon_k\sigma T_{a_k}^4)}{C_a} + \label{eq:atmos change layer} + \end{equation} + \begin{equation} + \Delta T_{a_k} = \frac{\delta t \sigma (\epsilon_{k - 1}T_{a_{k - 1}}^4 + \epsilon_{k + 1}T_{a_{k + 1}}^4 - 2\epsilon_kT_{a_k}^4)}{C_a} + \label{eq:atmos change layer improved} + \end{equation} + \begin{equation} + \Delta T_p = \frac{\delta t (S + \sigma(4\epsilon_pT_a^4 - 4T_p^4))}{4C_p} + \label{eq:surface change improved} + \end{equation} +\end{subequations} + +With the changes made to the equation, we need to make those changes in the code as well. We need to add the new dimension to all matrices except $T_p$ and $a$ as they are unaffected (with +regards to the storage of the values) by the addition of multiple atmospheric layers. Every other matrix is affected. The new code can be found in \autoref{alg:temperature layer}. $\delta z$ + +\begin{algorithm}[hbt] + \SetAlgoLined + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlot]$}{ + \For{$layer \in [0, nlevels]$}{ + $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + \sigma(4\epsilon[0](T_a[lat, lon, 0])^4 - 4(T_p[lat, lon])^4))} + {4C_p[lat, lon]}$ \; + \uIf{$layer == 0$}{ + $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma((T_p[lat, lon])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} + {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; + }\uElseIf{$layer == nlevels - 1$}{ + $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma(\epsilon[layer - 1](T_a[lat, lon, layer - 1])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} + {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; + }\uElse{ + $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma(\epsilon[layer - 1](T_a[lat, lon, layer - 1])^4 + \epsilon[layer + 1]T_a[lat, lon, layer + 1] + - 2\epsilon[layer](T_a[lat, lon, layer])^4)}{\rho[lat, lon, layer]C_a\delta z[layer]}$ \; + } + $t \leftarrow t + \delta t$ \; + } + } + } + \caption{The main loop of the temperature calculations} + \label{alg:temperature layer} +\end{algorithm} + +We also need to initialise the $\epsilon$ value for each layer. We do that in \autoref{alg:epsilon}. + +\begin{algorithm} + $\epsilon[0] \leftarrow 0.75$ \; + \For{$i \in [1, nlevels]$}{ + $\epsilon[i] \leftarrow 0.5\epsilon[i - 1]$ + } + \caption{Intialisation of the insulation of each layer (also known as $\epsilon$)} + \label{alg:epsilon} +\end{algorithm} + +\subsection{Grey Radiation Scheme} +Inspired by the Isca project \cite{isca} and a paper describing the grey radiation scheme\cite{greyRad}. + +A radiation scheme is a model for how energy is redistributed using light in a system. Such a model is a Grey radiation scheme if you split it into two parts, short and long wavelength radiation. +So you have two redistribution systems, one for short wavelength light and one for long wavelength light. Another assumption we make when using the Grey radiation scheme, is that the atmosphere +is transparent to short wavelength radiation, meaning it lets through light with short wavelengths. Additionally we use a two stream approximation, which means that we have a stream of radiation +going up, and another stream of radiation going down. Note that these two streams are both long wavelength radiation, because we said earlier we assume the atmosphere completely ignores short +wavelength radiation. + +The two long wavelength radiation streams are described in \autoref{eq:upward radiation} and \autoref{eq:downward radiation} \cite{greyRad}. In those equations, the symbols are: + +\begin{itemize} + \item $U$: Upward flux. + \item $D$: Downward flux. + \item $B$: The Stefan-Boltzmann equation (see \autoref{eq:stefan-boltzmann}). + \item $\tau$: Optical depth. +\end{itemize} + +\begin{subequations} + \begin{equation} + \frac{dU}{d\tau} = U - B + \label{eq:upward radiation} + \end{equation} + \begin{equation} + \frac{dD}{d\tau} = B - D + \label{eq:downward radiation} + \end{equation} +\end{subequations} + +With \autoref{eq:upward radiation} and \autoref{eq:downward radiation} written down, we can discuss how they work. These equations need a boundary condition to work, a starting point if you like. +For those equations the boundary conditions are that $U$ is at the surface equal to $B$ and that $D$ at the top of the atmosphere is equal to $0$. Meaning that in the beginning the top of the +atmosphere has no downward flux as there is no heat there, and that the bottom of the atmosphere has a lot of upward flux as most if not all of the heat is located there. Then after the spin up +time this should stabilise. We are interested in the change of the fluxes, so $dU$ and $dD$, to get those we need to multiply the right hand side by $d\tau$. Then we have the flow of radiation +that we need. However we cannot solely use these two equations to calculate the heat of a given layer. For that we need a few more components. These are described in \autoref{eq:heat layer}. +Here $Q_R$ is the amount of heat in a layer, $c_p$ is the specific heat capacity of dry air (our atmosphere), $\rho$ is the density of the air in that layer and $\delta z$ is the change in height. +$\delta U - D$ are the change in net radiation, meaning the amount of radiation that is left over after you transferred the upward and downward flux. See it as incoming and outgoing energy for a +given layer, the net change (either cooling down or heating up) is what remains after you have subtracted the incoming energy from the outgoing energy. While this explanation is not entirely true +(as flux is not entirely equivalent to energy), it explains the concept the best. + +\begin{equation} + Q_R = \frac{1}{c_p\rho}\frac{\delta(U - D)}{\delta z} + \label{eq:heat layer} +\end{equation} + +Now only one question remains: what is optical depth? Optical depth is the amount of work a photon has had to do to get to a certain point. This might sound really vague, but bear with me. +Optical depth describes how much stuff a certain photon has had to go through to get to a point. As you'd expect this is $0$ at the top of the atmosphere as space is a big vacuum so no stuff to +move through, so no work. Then the further the photon moves into the atmosphere, the more work the photon has had to do to get there. This is because it now needs to move through gases, like air, +water vapour and other gases. Hence the closer the photon gets to the surface of the planet, the larger the optical depth is because the photon has had to work more to get there. This phenomenon +is described in \autoref{eq:optical depth}. The symbols in the equation mean: + +\begin{itemize} + \item $\tau_0$: Optical depth at the surface. + \item $p$: Atmospheric pressure ($Pa$). + \item $p_s$: Atmospheric pressure at the surface ($Pa$). + \item $f_l$: The linear optical depth parameter, with a value of 0.1. +\end{itemize} + +\begin{equation} + \tau = \tau_0[f_l(\frac{p}{p_s}) + (1 - f_l)(\frac{p}{p_s})^4] + \label{eq:optical depth} +\end{equation} + +As one can see, \autoref{eq:optical depth} has two parts, a linear part and a quatric part (to the power $4$). The quatric term approximates the structure of water vapour in the atmosphere, which +roughly scales with $\frac{1}{4}$ with respect to the height. The linear term is present to fix numerical behaviour because this is an approximation which will not be completely correct (that's +why it is an approximation) so we add this term to make it roughly right. The same thing holds for $f_l$ which can be manually tuned to fix weird numerical behaviour. + +With these equations in our mind, let's get coding. First we add the pressure profile, the pressure of all atmospheric layers at a lat lon point. We need this to accurately represent the optical +depth per atmospheric layer. Then we need to use the pressure profile with regards to \autoref{eq:optical depth}. The resulting code can be found in \autoref{alg:optical depth}. This algorithm +replaces the temperature calculations we have done in \autoref{alg:temperature layer}, as this is basically a better version of the calculations done in that algorithm. $f_l$ has a value of $0.1$ +and is located near all the other constants in the code, henceforth we will refer to this section in the code as the control panel, since most if not all of the constants can be tweaked here. +$\tau_0$ is a function that gives the surface optical depth for a given latitude. The corresponding equation can be found in \autoref{eq:optical depth surface} \cite{simon}. Translating this +into code is left as an exercise to the reader. $U[0]$ is the boundary condition discussed before (being the same as \autoref{eq:stefan-boltzmann}), just as $D[nlevels]$ is the boundary condition. +$S_z$ represents the call to \autoref{alg:gradient z}. \texttt{solar} represents the call to \autoref{alg:solar}. + +\begin{algorithm} + \For{$lat \in [-nlat, nlat]$}{ + \For{$lon \in [0, nlon]$}{ + $pressureProfile \leftarrow p[lat, lon, :]$ \; + $\tau = \tau_0(lat)f_l\frac{pressureProfile}{pressureProfile[0]} + (1 - f_l)(\frac{pressureProfile}{pressureProfile[0]})^4)$ \; + $U[0] \leftarrow \sigma T_p[lat, lon]^4$ \; + + \For{$level \in [1, nlevels]$}{ + $U[level] \leftarrow U[level - 1] - \frac{(\tau[level] - \tau[level - 1])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level - 1] - \tau[level])}$ \; + } + + $D[nlevels - 1] \leftarrow 0$ \; + + \For{$level \in [nlevels - 1, 0]$}{ + $D[level] \leftarrow D[level + 1] - \frac{(\tau[level + 1] - \tau[level])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level] - \tau[level + 1])}$ \; + } + + \For{$level \in [0, nlevels]$}{ + $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; + } + + $T_a[lat, lon, :] \leftarrow T_a[lat, lon, :] + Q$ \; + + $S \leftarrow \texttt{solar}(I, lat, lon, t)$ \; + + $T_p[lat, lon] \leftarrow T_p[lat, lon] \frac{\delta t((1 - a[lat, lon]) S + S_z(D, 0, 0, 0) - \sigma T_p[lat, lon]^4)}{C_p[lat ,lon]}$ \; + } + } + \caption{Adding in radiation} + \label{alg:optical depth} +\end{algorithm} + +\begin{equation} + \tau_0 = 3.75 + \cos(lat \frac{\pi}{90})\frac{4.5}{2} + \label{eq:optical depth surface} +\end{equation} + +\subsection{Adding In Some Ozone (Or Something Else That Approximates It)} +Adding in ozone in the stratosphere is hella complicated, so we leave that as an exercise to the reader as in true academic fashion. Just joking, if you want you can work on implementing ozone +however we opt not to because it is quite complicated. Instead we approximate it, which is decent enough for our purpose. We need to do it in \autoref{alg:optical depth} as we need to adjust the +$Q$. We add in a check to see if we are currently calculating the radiation in the stratosphere. If so we add some radiation extra to replicate the effect of ozone. As can be seen in +\autoref{alg:ozone}, where we only focus on the $Q$ part of \autoref{alg:optical depth}, we add in some extra radiation based on how high the current layer calculation is, which scales with the +height. + +\begin{algorithm} + \For{$level \in [0, nlevels]$}{ + $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; + \uIf{$heights[level] > 20 \cdot 10^3$}{ + $Q[level] \leftarrow Q[level] + \texttt{solar}(5, lat, lon, t) \frac{24 \cdot 60 \cdot 60(\frac{heights[level] - 20 \cdot 10^3}{10^3})^2}{30^2}$ \; + } + } + \caption{Replicating the effect of ozone} + \label{alg:ozone} +\end{algorithm} + +\subsection{Tilting the Planet} +In order to model a planet that has seasons, like Earth, we need to tilt the planet. This has as effect that the sun is not always directly above the equator but is above a certain band around +the equator as the year moves on. This means that some hemispheres receive more/less sun based on what part of the year it is. Which corresponds to the various seasons we have on Earth. But in +order to do that, we have to change the \texttt{solar} function. The new version as shown in \autoref{alg:solar tilt} will replace \autoref{alg:solar}. Here $\alpha$ is the tilt in degrees. + +\begin{algorithm} + \SetKwInput{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{insolation $ins$, latitude $lat$, longitude $lon$, time $t$, time in a day $d$} + \Output{Amount of energy $S$ that hits the planet surface at the given latitude, longitude and time combination.} + $sun\_lon \leftarrow -t \text{ mod } d$ \; + $sun\_lon \leftarrow sun\_lon \cdot \frac{360}{d}$ \; + $sun\_lat \leftarrow \alpha\cos(\frac{2t\pi}{year})$ \; + $S \leftarrow insolation\cos(\frac{\pi(lat - sun\_lat)}{180})$ \; + + \uIf{$S < 0$}{ + \Return{$0$} \; + } \uElse { + $lon\_diff \leftarrow lon - sun\_lon$ \; + $S \leftarrow S\cos(\frac{lon\_diff\pi}{180})$ \; + + \uIf{$S < 0$}{ + \uIf{$lat + sun\_lat > 90$ or $lat + sun\_lat < -90$}{ + \Return{$insolation\cos(\frac{\pi(lat + sun\_lat)}{180})\cos(\frac{lon\_diff\pi}{180})$} \; + } \uElse { + \Return{$0$} \; + } + } \uElse { + \Return{$S$} \; + } + } + \caption{Calculating the energy from the sun (or similar star) that reaches a part of the planet surface at a given latitude and time} + \label{alg:solar tilt} +\end{algorithm} + +What the code in \autoref{alg:solar tilt} does boils down to calculating the latitude and longitude of the sun and checking whether the planet receives any energy. If not return $0$ immediately. +If so we check if the difference between the sun's longitude and the planet's longitude and calculate how much energy would hit the planet given that the sun is not straight above the equator. +We do this by multiplying the energy it would receive from the sun if it were above the equator $S$ by the cosine of the difference in longitudes, which represents the tilt. Then we check again +if the planet is receiving energy, if not we check if it happens around the poles. We do this because due to the tilt it can be the case that at certain points in the year the pole is in constant +sunlight, i.e. the sun does not go down. This creates a sort of overshoot which needs to be accounted for. If it does this then we add the latitudes of the sun and the planet together and use +that to calculate the energy that would hit that spot. If it is not the case that we are around the poles and we do not receive energy, then we return $0$. If it happens to be that we do receive +energy (so no negative values) then we return $S$. + +\subsection{The Theory Behind the Planar Approximation} +It is time to deal with the pole situation. The north and south poles that is, not the lovely people over in Poland. We run into problems because the latitude longitude grid cells become to small +near the poles. Therefore, the magnitudes no longer fit into one cell and overflow into other cells which makes everything kind of funky. So we need to fix that, and we do that by a planar +approximation. + +As said earlier, the grid cells on the latitude longitude grid get closer together the closer you get to the poles which poses problems. To fix this, we will be using a planar approximation of +the poles. What this means is that we will map the 3D grid near the poles onto a 2D plane parallel to the poles, as if we put a giant flat plane in the exact center of the poles and draw lines +from the grid directly upwards to the plane. For a visual representation, please consult the stream with timestamp 1:38:25 \cite{polarPlane}, which includes some explanation. In the streamm we +use $r$ to indicate the radius of the planet (which we assume is a sphere), $\theta$ for the longitude and $\lambda$ for the latitude. So we have spherical coordinates, which we need to transform +into $x$ and $y$ coordinates on the plane. We also need the distance between the center point (the point where the plane touches the planet which is the center of the pole) and the projected +point on the plane from the grid (the location on the plane where a line from the gird upwards to the plane hits it). This distance is denoted by $a$ (Simon chose this one, not me). We then get +the following equations as shown in \autoref{eq:polar distance}, \autoref{eq:polar x} and \autoref{eq:polar y}. + +\begin{subequations} + \begin{equation} + a = r \cos(\theta) + \label{eq:polar distance} + \end{equation} + \begin{equation} + x = a \sin(\lambda) + \label{eq:polar x} + \end{equation} + \begin{equation} + y = a \cos(\lambda) + \label{eq:polar y} + \end{equation} +\end{subequations} + +But what if we know $x$ and $y$ and want to know $\theta$ and $\lambda$? Pythagoras' Theorem then comes into play \cite{pythagoras}. We know that (due to Pythagoras) \autoref{eq:pythagoras} must +always be true. Then if we substitue $a$ by $\sqrt{x^2 + y^2}$ in \autoref{eq:polar distance} we get \autoref{eq:polar theta1}. Then we transform that equation such that we only have $\theta$ on +one side and the rest on the other side (since we want to know $\theta$) and we get \autoref{eq:polar theta3}. +\begin{equation} + x^2 + y^2 = a^2 + \label{eq:pythagoras} +\end{equation} + +\begin{subequations} + \begin{equation} + \sqrt{x^2 + y^2} = r\cos(\theta) + \label{eq:polar theta1} + \end{equation} + \begin{equation} + \frac{\sqrt{x^2 + y^2}}{r} = \cos(\theta) + \label{eq:polar theta2} + \end{equation} + \begin{equation} + \cos^{-1}(\frac{\sqrt{x^2 + y^2}}{r}) = \theta + \label{eq:polar theta3} + \end{equation} +\end{subequations} + +For $\lambda$ we need another trigonometric function which is the tangent ($\tan$). The tangent is defined in \autoref{eq:tan}. If we then take a look at \autoref{eq:polar x} and +\autoref{eq:polar y}, we see that $\lambda$ is present in both equations. So we need to use both to get $\lambda$ \footnote{Yes you could only use one but since we both know $x$ and $y$ it is a +bit easier to use both than to only use one as you need to know $\theta$ at that point as well which may or may not be the case.}. So let's combine \autoref{eq:polar x} and \autoref{eq:polar y} +in \autoref{eq:polar lambda1}, transform it such that we end up with only $\lambda$ on one side and the rest on the other side and we end up with \autoref{eq:polar lambda3}. + +\begin{equation} + \tan(\alpha) = \frac{\sin(\alpha)}{\cos(\alpha)} + \label{eq:tan} +\end{equation} + +\begin{subequations} + \begin{equation} + \frac{x}{y} = \frac{a\sin(\lambda)}{a\cos(\lambda)} = \frac{\sin(\lambda)}{\cos(\lambda)} + \label{eq:polar lambda1} + \end{equation} + \begin{equation} + \frac{x}{y} = \tan(\lambda) + \label{eq:polar lambda2} + \end{equation} + \begin{equation} + \lambda = \tan^{-1}(\frac{x}{y}) + \label{eq:polar lambda3} + \end{equation} +\end{subequations} + +With this math we can fix a lot of stuff in the model. With this we can resample (mapping from sphere to plane) the pressure, density, temperarature and advection to the plane and ensure that +there are no more overflows and funky business. The implementation (code) for this will be done in a follow up stream, so stay tuned! \ No newline at end of file diff --git a/tex-docs/topics/velocity.tex b/tex-docs/topics/velocity.tex index 080a9aa..a000627 100644 --- a/tex-docs/topics/velocity.tex +++ b/tex-docs/topics/velocity.tex @@ -41,145 +41,6 @@ important enough to account for yet, especially considering the current complexi The code that corresponds to this is quite simple, the only change that we need to make in \autoref{eq:state gas} is that we need to replace $T$ by $T_a$, the temperature of the atmosphere. As $T_a$ is a matrix (known to programmers as a double array), $p$ will be a matrix as well. Now we only need to fill in some values. $\rho = 1.2$\cite{densityAir}, $R_s = 287$\cite{specificGasConstantAir}. -\subsection{The Primitive Equations and Geostrophy} -\textbf{NOTE:} This whole subsection is obsolete. We have replaced these calculations with \autoref{sec:momentum}. The folloing subsection is left in for historical value, and maybe for a simpler -calculation if you want your own model to do less heavy calculations. This is where the previously mentioned master file strucutre comes in. You can create a new file with the following -calculations and replace the call that you would make to \autoref{sec:momentum} with a call to the algorithm listed in this subsection. Your choice, though the model Simon has made opted to use -the more complicated calculations. So here are the original calculations and if you want an up to date overview of the calculations please have a look at \autoref{sec:momentum}. - -The primitive equations (also known as the momentum equations) is what makes the air move. It is actually kind of an injoke between physicists as they are called the primitive equations but -actually look quite complicated (and it says $fu$ at the end! \cite{simon}). The primitive equations are a set of equations dictating the direction in the $u$ and $v$ directions as shown in -\autoref{eq:primitive u} and \autoref{eq:primitive v}. We can make the equations simpler by using and approximation called geostrophy which means that we have no vertical motion, such that the -terms with $\omega$ in \autoref{eq:primitive u} and \autoref{eq:primitive v} become 0. We also assume that we are in a steady state, i.e. there is no acceleration which in turn means that the -whole middle part of the equations are $0$. Hence we are left with \autoref{eq:primitive u final} and \autoref{eq:primitive v final}. - -\begin{subequations} - \begin{equation} - \frac{du}{dt} = \frac{\delta u}{\delta t} + u\frac{\delta u}{ \delta x} + v\frac{\delta u}{\delta v} + \omega\frac{\delta u}{\delta p} = -\frac{\delta \Phi}{\delta x} + fv - \label{eq:primitive u} - \end{equation} - \begin{equation} - \frac{dv}{dt} = \frac{\delta v}{\delta t} + u\frac{\delta v}{ \delta x} + v\frac{\delta v}{\delta v} + \omega\frac{\delta v}{\delta p} = -\frac{\delta \Phi}{\delta y} - fu - \label{eq:primitive v} - \end{equation} - - \begin{equation} - 0 = -\frac{\delta \Phi}{\delta x} + fv - \label{eq:primitive u final} - \end{equation} - \begin{equation} - 0 = -\frac{\delta \Phi}{\delta y} - fu - \label{eq:primitive v final} - \end{equation} -\end{subequations} - -\autoref{eq:primitive u final} can be split up into to parts, the $\frac{\delta \Phi}{\delta x}$ part (the gradient force) and the $fv$ part (the coriolis force). The same applies to -\autoref{eq:primitive v final}. Effectively we have a balance between the gradient and the coriolis force as shown in \autoref{eq:pu simple} and \autoref{eq:pv simple}. The symbols in both of -these equations are: - -\begin{itemize} - \item $\Phi$: The geopotential, potential (more explanation in \autoref{sec:potential}) of the planet's gravity field ($Jkg^{-1}$). - \item $x$: The change in the East direction along the planet surface ($m$). - \item $y$: The change in the North direction along the planet surface ($m$). - \item $f$: The coriolis parameter as described by \autoref{eq:coriolis}, where $\Omega$ is the rotation rate of the planet (for Earth $7.2921 \cdot 10^{-5}$) ($rad \ s^{-1}$) and $\theta$ is the - latitude \cite{coriolis}. - \item $u$: The velocity in the latitude ($ms^{-1}$). - \item $v$: The velocity in the longitude ($ms^{-1}$). -\end{itemize} - -\begin{subequations} - \begin{equation} - f = 2\Omega\sin(\theta) - \label{eq:coriolis} - \end{equation} - \begin{equation} - \frac{\delta \Phi}{\delta x} = fv - \label{eq:pu simple} - \end{equation} - \begin{equation} - \frac{\delta \Phi}{\delta y} = -fu - \label{eq:pv simple} - \end{equation} - \begin{equation} - \frac{\delta p}{\rho \delta x} = fv - \label{eq:pu simple final} - \end{equation} - \begin{equation} - \frac{\delta p}{\rho \delta y} = -fu - \label{eq:pv simple final} - \end{equation} -\end{subequations} - -Since we want to know how the atmosphere moves, we want to get the v and u components of the velocity vector (since $v$ and $u$ are the veolicites in longitude and latitude, if we combine them -in a vector we get the direction of the overall velocity). So it is time to start coding and calculating! If we look back at \autoref{alg:stream1v2}, we can see that we already have a double -for loop. In computer science, having multiple loops is generally considered a bad coding practice as you usually can just reuse the indices of the already existing loop, so you do not need to -create a new one. However this is a special case, since we are calculating new temperatures in the double for loop. If we then also would start to calculate the velocities then we would use new -information and old information at the same time. Since at index $i - 1$ the new temperature has already been calculated, but at the index $i + 1$ the old one is still there. So in order to fix -that we need a second double for loop to ensure that we always use the new temperatures. We display this specific loop in \autoref{alg:stream2}. Do note that everything in \autoref{alg:stream1v2} -is still defined and can still be used, but since we want to focus on the new code, we leave out the old code to keep it concise and to prevent clutter. - -\begin{algorithm}[hbt] - \SetAlgoLined - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlon]$}{ - $u[lat, lon] \leftarrow -\frac{p[lat + 1, lon] - p[lat - 1, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; - $v[lat, lon] \leftarrow \frac{p[lat, lon + 1] - p[lat, lon - 1]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; - } - } - \caption{The main loop of the velocity of the atmosphere calculations} - \label{alg:stream2} -\end{algorithm} - -The gradient calculation is done in \autoref{alg:gradient}. For this to work, we need the circumference of the planet. Herefore we need to assume that the planet is a sphere. While that is not -technically true, it makes little difference in practice and is good enough for our model. The equation for the circumference can be found in \autoref{eq:circumference} \cite{circumference}, -where $r$ is the radius of the planet. Here we also use the f-plane approximation, where the coriolis paramter has one value for the northern hemisphere and one value for the southern hemisphere -\cite{fplane}. - -\begin{equation} - 2 \pi r - \label{eq:circumference} -\end{equation} - -\begin{algorithm} - \SetAlgoLined - $C \leftarrow 2\pi R$ \; - $\delta y \leftarrow \frac{C}{nlat}$ \; - - \For{$lat \in [-nlat, nlat]$}{ - $\delta x[lat] \leftarrow \delta y \cos(lat \cdot \frac{\pi}{180})$ \; - - \eIf{$lat < 0$}{ - $f[lat] \leftarrow -10^{-4}$ \; - }{ - $f[lat] \leftarrow 10^{-4}$ \; - } - } - \caption{Calculating the gradient $\delta x$ (note that this algorithm is obsolete)} - \label{alg:gradient} -\end{algorithm} - -Because of the geometry of the planet and the construction of the longitude latitude grid, we run into some problems when calculating the gradient. Since the planet is not flat ("controversial -I know"\cite{simon}) whenever we reach the end of the longitude we need to loop around to get to the right spot to calculate the gradients (as the planet does not stop at the end of the -longitude line but loops around). So to fix that we use the modulus (mod) function which does the looping for us if we exceed the grid's boundaries. We do haveanother problem though, the poles. -As the latitude grows closer to the poles, they are converging on the center point of the pole. Looping around there is much more difficult so to fix it, we just do not consider that center -point in the main loop. The changed algorithm can be found in \autoref{alg:stream2v2} - -\begin{algorithm}[hbt] - \SetAlgoLined - \For{$lat \in [-nlat + 1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - $u[lat, lon] \leftarrow -\frac{p[(lat + 1) \text{ mod } nlat, lon] - p[(lat -1) \text{ mod } nlat, lon]}{\delta y} \cdot \frac{1}{f[lat]\rho}$ \; - $v[lat, lon] \leftarrow \frac{p[lat, (lon + 1) \text{ mod } nlon] - p[lat, (lon -1) \text{ mod } nlon]}{\delta x[lat]} \cdot \frac{1}{f[lat]\rho}$ \; - } - } - \caption{The main loop of the velocity of the atmosphere calculations} - \label{alg:stream2v2} -\end{algorithm} - -Do note that the pressure calculation is done between the temperature calculation in \autoref{alg:stream1v2} and the $u, v$ calculations in \autoref{alg:stream2v2}. At this point our model shows -a symmetric vortex around the sun that moves with the sun. This is not very realistic as you usually have convection and air flowing from warm to cold, but we do not have that complexity yet -(due to our single layer atmosphere). - \subsection{The Momentum Equations} \label{sec:momentum} The momentum equations are a set of equations that describe the flow of a fluid on the surface of a rotating body. For our model we will use the f-plane approximation. The equations corresponding to the f-plane approximation are given in \autoref{eq:x momentum} and \autoref{eq:y momentum} \cite{momentumeqs}. Note that we are ignoring vertical movement, as this does not have a significant @@ -266,4 +127,35 @@ Another change introduced is in the coriolis parameter. Up until now it has been \subsection{Adding Friction} In order to simulate friction, we multiply the speeds $u$ and $v$ by $0.99$. Of course there are equations for friction but that gets complicated very fast, so instead we just assume that we -have a constant friction factor. This multiplication is done directly after \autoref{alg:stream3} in \autoref{alg:stream4v1}. \ No newline at end of file +have a constant friction factor. This multiplication is done directly after \autoref{alg:stream3} in \autoref{alg:stream4v1}. + +\subsection{Adding in Layers} +With adding in atmospheric layers we need to add vertical winds, or in other words add the $w$ component of the velocity vectors. We do that by editing \autoref{alg:stream3}. We change it to +\autoref{alg:velocity}. Here we use gravity ($g$) instead of the coriolis force ($f$) and calculate the change in pressure. Therefore we need to store a copy of the pressure before we do any +calculations. This needs to be a copy due to aliasing \footnote{Aliasing is assigning a different name to a variable, while it remains the same variable. Take for instance that we declare a +variable $x$ and set it to be $4$. Then we say $y \leftarrow x$, which you might think is the same as saying they $y \leftarrow 4$ but behind the screen it is pointing to $x$. So if $x$ changes, +then so does $y$.} + +\begin{algorithm} + $S_{xu} \leftarrow \texttt{gradient\_x}(u, lan, lon)$ \; + $S_{yu} \leftarrow \texttt{gradient\_y}(u, lan, lon)$ \; + $S_{xv} \leftarrow \texttt{gradient\_x}(v, lan, lon)$ \; + $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; + $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; + $S_{py} \leftarrow \texttt{gradient\_y}(p, lan, lon)$ \; + \While{\texttt{TRUE}}{ + \For{$lat \in [1, nlat - 1]$}{ + \For{$lon \in [0, nlon]$}{ + \For{$layer \in [0, nlevels]$}{ + $u[lan, lon, layer] \leftarrow u[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xu} - v[lat, lon, layer]S_{yu} + f[lat]v[lat, lon, layer] - S_{px}}{\rho}$ \; + $v[lan, lon, layer] \leftarrow v[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xv} - v[lat, lon, layer]S_{yv} - f[lat]u[lat, lon, layer] - S_{py}}{\rho}$ \; + $w[lan, lon, layer] \leftarrow w[lat, lon, layer] - \frac{p[lat, lon, layer] - p_o[lat, lon, layer]}{\delta t\rho[lat, lon, layer]g}$ \; + } + } + } + + $p_o \leftarrow copy(p)$ \; + } + \caption{Calculating the flow of the atmosphere (wind)} + \label{alg:velocity} +\end{algorithm} \ No newline at end of file From cf4c8b8311e4548cee9b775819e4fa5bd9c31a8e Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Tue, 8 Sep 2020 20:19:06 +0200 Subject: [PATCH 04/17] Finished the rewrite --- CLAuDE NOM.pdf | Bin 392810 -> 397891 bytes tex-docs/topics/advection.tex | 62 ++++++++++-------------------- tex-docs/topics/control_panel.tex | 2 + tex-docs/topics/master.tex | 17 ++++++++ tex-docs/topics/radiation.tex | 33 ++++++---------- tex-docs/topics/velocity.tex | 26 ++++++------- 6 files changed, 61 insertions(+), 79 deletions(-) diff --git a/CLAuDE NOM.pdf b/CLAuDE NOM.pdf index b48f8187b093464b12c1a9ef0a7c5f597ddcfcb9..db412c5800c0bcd63e5c2e97b40b125e5b75a9db 100644 GIT binary patch delta 277749 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

>RWAFB2u$YA#Fc!8SSW0E3>`W=G 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Ł^PZ3n|aMrF8Q#O?YuqL0UI;7WRVPLkipX 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 z

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'QbTj99_86VBCbum^nItfHXxRjUwqP-LctAn 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 Hl7jm`;0WsR delta 273214 zcmZs?Q*b5>@Z}v_6Wh)cdt%$RIkEl3w(W^++cqb*ZSDKt?_%q#-Mg;7>6@yqEXhKe3^`JM+{47HtzPX-bA5_Bdi2kJdi?GR2fo=YNGaLUr4iIO&iUd zrRFLMGQi_(bL&P2;LGIsbPPiQo*arj?84NJ%YzK$sB_r_OK_nYmvWjaYpj3##d* z>_t=z6rP$R?xUVUVa)EyqsZ&bb7y;G6m!Ig+-e4ui@x5i`EkVvS6EG)3C;vFsrn9Zp3fFTKu~iT^itCsqgfAke|ZhcgR6JoA>H~z)wo&)3NA+{?~fS z4>CPQy+vtl6aJpeDXG2sV#3}XBz`Ow5nVh9MYNAz7Ty1`BYAOny@aB+DFO;y&X=22#BXb?4$5IBV z#qPJxr>If0xwXAp$7F$fuC!LXSr(Q^CaQZJzwLmEdkT`sCbc$*SAWJZ#R7O~`GryRl+- zq|de<4T@U$F#_j+r#kH2IM@a?8t|9{LrehQM*6Ewl?HRh-$0+-O(5RUAXF0n7ox@L zgi?FE03`EduDAYI{BDvT^3DA?+87Egt9-d_FTR$2Yu9E{!m*>FCB2xsBYp6G<(7IphKvJi+3yq*@_(UzK~ub`UE`Nco*AK z!iKt(^Ze+6j_V2%%Jgt3wR(EprpY{*r&TsfAG&Z@epQ2jpFUhaXx0XTKaT$ zRA&IOJ4!36vb@fZaHq#uk%vro1gB()^*M+&7*IQhET^35{t!WE8uDm$DE4d7FRKx- zCZn{T>CGoyt=JVPjW^3lago!u?p*5nzomI*$j~{`=?uPE|5SqqMt|B*(m}O>ic4Wr z-GPJyOdU7AS|ND7T)8}-ke5p(S>Vj@tJr@8Z>frSSu+@R2;w9;wedwMD0X$@*F%VSdlJ&K6h

nGJGJ;m6Rt7KN&!xX(8 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

Q1001|j06($EYt<1)eXuB#!~sQdopo2u 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 Date: Sun, 13 Sep 2020 20:53:29 +0200 Subject: [PATCH 05/17] Added FFT documentation but still need to do the smoothing docs --- tex-docs/appendices/TTNMETAF.tex | 19 +++++- tex-docs/references.bib | 32 +++++++++ tex-docs/topics/advection.tex | 2 +- tex-docs/topics/master.tex | 26 +++++++- tex-docs/topics/util_funcs.tex | 109 ++++++++++++++++++++++++++++++- 5 files changed, 184 insertions(+), 4 deletions(-) diff --git a/tex-docs/appendices/TTNMETAF.tex b/tex-docs/appendices/TTNMETAF.tex index c269858..19f45d5 100644 --- a/tex-docs/appendices/TTNMETAF.tex +++ b/tex-docs/appendices/TTNMETAF.tex @@ -5,4 +5,21 @@ Potential is the energy change that occurs when the position of an object changes \cite{potential}. There are many potentials, like electric potential, gravitational potential and elastic potential. Let me explain the concept with an example. Say you are walking on a set of stairs in the upwards direction. As your muscles move to bring you one step upwards, energy that is used by your muscles is converted into gravitational potential. Now imagine you turn around and go downwards instead. Notice how that is easier? That is due to the gravitational potential being -converted back into energy so your muscles have to deliver less energy to get you down. The potential is usually tied to a force, like the gravitational force. \ No newline at end of file +converted back into energy so your muscles have to deliver less energy to get you down. The potential is usually tied to a force, like the gravitational force. + +\subsection{Asymptotic Runtime} \label{sec:runtime} +Asymptotic runtime is what we use in computer science to indicate how fast an algorithm works. We do it this way because concrete time indications (seconds, minutes, hours) are very machine +dependent. It matters a lot if your CPU, RAM and GPU are fast or not for the runtime. Therefore, we needed something to compare algorithms by which is machine independent. That is what asymptotic +runtime is. We have 3 notations for asymptotic runtime, $\Omega$ which is the lower bound of the runtime: not faster than; $O$ which is the upperbound of the runtime: not slower than; and we +have $\Theta$ which is the tight bound: not slower but also not faster than. After these 3 notations we usually denote the runtime in algebraic letters which stand for the input size. $O(n)$ for +instance means that for an input of size $n$ the algorithm will not run slower than $n$ operations. Whereas $\Omega(n^3)$ means that the algorithm needs for an input of size $n$ at least $n^3$ +operations. Now this is not an exact match, as there are constants and other terms in the real runtime, but for asymptotic runtime we look at the most dominant factor, as that outgrows all the +other factors if the input size increases. You can compare this by plotting the functions $y = x$ and $z = x^2$ on a graphical calculator. No matter which constant $a$ you put in front of the $x$, +$z = x^2$ will at some point (note we don't specify when or where) be larger than $y = ax$. What you need to remember for all this is that polynomials are faster than exponentials ($n^2 < 2^n$) +and logarithms are faster than polynomials ($\log(n) < n$). $n!$ is very slow, $\log(n)$ is very fast. + +\subsection{Complex Numbers} \label{sec:complex} +As you all know in the real numbers ($\mathbb{R}$) negative roots are not allowed as they do not exist. But what would happen if we would allow them to exist? Then we move into the area of +complex numbers. A complex number consists out of two parts, a real part and an imaginary part in the form $a + bi$ where $i = \sqrt{-1}$. Complex numbers have all kinds of properties, but what +we need them for are rotations. This is captured in Euler's formula $e^{it} = \cos(x) + i\sin(x)$ \cite{eulerFormula}. Which means that for time $t$ we rotate around the origin (of the complex +plane) forming a circle with radius one (the unit circle). Now if you would set $t = \pi$ then the result is $0$. What this means is that we have come full circle (hah) when $t = 2\pi$. \ No newline at end of file diff --git a/tex-docs/references.bib b/tex-docs/references.bib index e23029b..3833360 100644 --- a/tex-docs/references.bib +++ b/tex-docs/references.bib @@ -206,6 +206,17 @@ chapter={3}, pages={49} } +@article{fft, +title={An algorithm for the machine calculation of complex Fourier series}, +volume={19}, +DOI={10.1090/s0025-5718-1965-0178586-1}, +number={90}, +journal={Mathematics of Computation}, +author={Cooley, James W. and Tukey, John W.}, +year={1965}, +pages={297–297} +} + %General internet sources @misc{latlong, title={Geographic coordinate system}, @@ -227,6 +238,16 @@ year={2020}, month={Jun} } +@misc{eulerFormula, +title={Equinox}, +howpublished="\url{https://en.wikipedia.org/wiki/Euler%27s_formula}", +journal={Wikipedia}, +publisher={Wikimedia Foundation}, +author={Boldt, Axel}, +year={2020}, +month={September} +} + @misc{mole, title={SI Units - Amount of Substance}, howpublished="\url{https://www.nist.gov/pml/weights-and-measures/si-units-amount-substance}", @@ -351,4 +372,15 @@ publisher={Wikimedia Foundation}, author={Boldt, Axel}, year={2020}, month={Aug} +} + +@article{numpy, + title={The NumPy array: a structure for efficient numerical computation}, + author={Van Der Walt, Stefan and Colbert, S Chris and Varoquaux, Gael}, + journal={Computing in Science \& Engineering}, + volume={13}, + number={2}, + pages={22}, + year={2011}, + publisher={IEEE Computer Society} } \ No newline at end of file diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index 1a32ea1..af8b21e 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -1,4 +1,4 @@ -\section{Advection} +\section{Advection} \label{sec:adv} Advection is a fluid flow transporting something with it as it flows. This can be temperature, gas, solids or other fluids. In our case we will be looking at temperature. \subsection{Thermal Diffusion} diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex index 4215fa3..b65a875 100644 --- a/tex-docs/topics/master.tex +++ b/tex-docs/topics/master.tex @@ -109,4 +109,28 @@ data or work in the other magnitude. Note that the function \texttt{interpolate} takes three arguments, the first one being the data points that we want to have values for, the second one is the data points that we know and the third one is the values for the data points that we know. This function may or may not exist in your programming language of choice, which might mean that you have to write it yourself. The formula that we use for interpolation can be found in \autoref{eq:interpolation}, though you still need to figure out what value you need for $\lambda$ (see \autoref{sec:interpolation}). -This is left as an exercise for the reader. \ No newline at end of file +This is left as an exercise for the reader. + +\subsection{Clamping the Velocities} +Due to the boundaries in the advection calculations (see \autoref{sec:adv}) we get weird instabilities as the velocity calculations are executed on more cells. Which means that air is trying to +displace temperature (advect it) by flowing faster to those cells, but actually don't carry any temperature because we turned it off for those cells. This is something that we need to fix to get +rid of weirdness around the edges. This is done in \autoref{alg:velocity clamped}. Here the $bla:$ means from $bla$ to the last valid index, if the $:$ is in front of $bla$ then it means from +the first valid index to $bla$. + +\begin{algorithm} + \autoref{alg:velocity} + $u[(adv\_boun, -adv\_boun - 1), :, :] \leftarrow 0.5u[(adv\_boun, -adv\_boun - 1), :, :]$ \; + $v[(adv\_boun, -adv\_boun - 1), :, :] \leftarrow 0.5v[(adv\_boun, -adv\_boun - 1), :, :]$ \; + $w[(adv\_boun, -adv\_boun - 1), :, :] \leftarrow 0.5w[(adv\_boun, -adv\_boun - 1), :, :]$ \; + + $u[:adv\_boun, :, :] \leftarrow 0 $\; + $v[:adv\_boun, :, :] \leftarrow 0 $\; + $w[:adv\_boun, :, :] \leftarrow 0 $\; + + $u[-adv\_boun:, :, :] \leftarrow 0$ \; + $v[-adv\_boun:, :, :] \leftarrow 0$ \; + $w[-adv\_boun:, :, :] \leftarrow 0$ \; + \caption{Clamping the Velocities} + \label{alg:velocity clamped} +\end{algorithm} + diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex index f8cfba3..a9362fd 100644 --- a/tex-docs/topics/util_funcs.tex +++ b/tex-docs/topics/util_funcs.tex @@ -189,4 +189,111 @@ Whereas if $z$ is close to $x$ then $\lambda$ will have a value on the lower end \begin{equation} z = (1 - \lambda)x + \lambda y \label{eq:interpolation} -\end{equation} \ No newline at end of file +\end{equation} + +\subsection{3D smoothing} \label{sec:3dsmooth} +As you can imagine the temperature, pressure and the like vary quite a lot over the whole planet. Which is something that we kind of want but not really. What we really want is to limit how +much variety we allow to exist. For this we are going to use Fast Fourier Transforms, also known as FFTs. A Fourier Transform decomposes a wave into its frequences. The fast bit comes from the +algorithm we use to calculate it. This is because doing it via the obvious way is very slow, in the order of $O(n^2)$ (for what that means, please visit \autoref{sec:runtime}). Whereas if we use +the FFT, we reduce the running time to $O(n\log(n))$. There are various ways to calculate the FFT, but we use the Cooley–Tukey algorithm \cite{fft}. To explain it, let us first dive into a normal +Fourier Transform. + +The best way to explain what a Fourier Transform does is to apply it to a sound. Sound is vibrations travelling through the air that reach your air and make the inner part of your air vibrate. +If you plot the air pressure reaching your air versus the time, the result will have the form of a sinoidal wave. However, it is only a straight forward sinoidal wave (as if you plotted the +$\cos$ function) if the tone is pure. That is often not the case, and sounds are combinations of tones. This gives waves that are sinoidal but not very alike to the $\cos$ function. The FT will +transform this "unpure" wave and splits them up into a set of waves that are all of pure tone. To do that we need complex numbers which are explained here \autoref{sec:complex}. + +With that explanation out of the way, we now know that with Euler's formula (\autoref{eq:euler}) we can rotate on the complex plane. If we rotate one full circle per second, the formula changes +to \autoref{eq:euler rotate}, as the circumference of the unit circle is $2\pi$ and $t$ is in seconds. This rotates in the clock-wise direction, but we want to rotate in the clockwise direction, +so we need to add a $-$ to the exponent. If we also want to control how fast the rotation happens (which is called the frequency) then we change the equation to \autoref{eq:euler freq}. Note that +the frequency unit is $Hz$ which is defined as $s^{-1}$, which means that a frequency of $10 Hz$ means 10 revolutions per second. Now we get our wave which we call $g(t)$ and plonk it in front +of the equation up until now. Which results in \autoref{eq:euler wave}. Visually, this means that we take the sound wave and wrap it around the origin. This might sound strange at first but bear +with me. If you track the center of mass (the average of all the points that form the graph) you will notice that it hovers around the origin. If you now change the frequency of the rotation ($f$) +you will see that the center of mass moves a bit, usually around the origin. However, if the frequency of the rotation matches a frequency of the wave, then the center of mass is suddenly a +relatively long distance away from the origin. This indicates that we have found a frequency that composes the sound wave. Now how do we track the center of mass? That is done using integration, +as in \autoref{eq:euler int}. Now to get to the final form, we forget about the fraction part. This means that the center of mass will still hover around the origin for the main part of the +rotation, but has a huge value for when the rotation is at the same frequency as one of the waves in the sound wave. The larger the difference between $t_2$ and $t_1$, the larger the value of the +Fourier Transform. The final equation is given in \autoref{eq:ft}. + +\begin{subequations} + \begin{equation} + e^{ix} = \cos(x) + i\sin(x) + \label{eq:euler} + \end{equation} + \begin{equation} + e^{2\pi it} + \label{eq:euler rotate} + \end{equation} + \begin{equation} + e^{-2\pi ift} + \label{eq:euler freq} + \end{equation} + \begin{equation} + g(t)e^{-2\pi ift} + \label{eq:euler wave} + \end{equation} + \begin{equation} + \frac{1}{t_2 - t_1}\int^{t_2}_{t_1}g(t)e^{-2\pi ift} + \label{eq:euler int} + \end{equation} + \begin{equation} + \hat{g}(f) = \int^{t_2}_{t_1}g(t)e^{-2\pi ift} + \label{eq:ft} + \end{equation} +\end{subequations} + +These Fourier Transforms have the great property that if you add them together you still have the relatively large distances of the center of mass to the origin at the original frequencies. It +is this property that enables us to find the frequencies that compose a sound wave. + +Now that we know what a Fourier Transform is, we need to make it a Fast Fourier Transform, as you can imagine that calculating such a thing is quite difficult. Some smart people have thought +about this and they came up with quite a fast algorithm, the Cooley-Tukey algorithm \cite{fft}, named after the people that thought of it. They use something we know as a Discrete Fourier +Transform which is described by \autoref{eq:dft}. Here $N$ is the total amount of samples from the continuous sound wave. This means that $0 \leq k \leq N - 1$ and $0 \leq n \leq N - 1$. + +Now with the DFT out of the way we can discuss the algorithm. It makes use of a clever property of the DFT. If you replace $k$ by $(N + k)$, as in \autoref{eq:dftex}, you can split up the +exponent which will transform one of the two parts into $1$ due to $e^{-i2\pi n} = 1$ for any integer $n$. This means that $X_{N + k} = X_k \Rightarrow X_{k + iN} = X_k$ for any integer $i$. +This symmetry as it is called can be exploited to produce a divide and conquer algorithm, which will recursivley calculate the FT which gives a running time of $N\log(n)$ as shown in +\autoref{alg:FFT}. + +\begin{subequations} + \begin{equation} + X_k = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi}{N}kn} + \label{eq:dft} + \end{equation} + \begin{equation} + X_{N + k} = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi(N + k)}{N}n} = \sum_{n = 0}^{N - 1} x_ne^{-i2\pi n}x_ne^{-\frac{i2\pi}{N}kn} = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi}{N}kn} + \label{eq:dftex} + \end{equation} +\end{subequations} + +\begin{algorithm} + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{array $A$, integer $i$, integer $N$, integer $s$} + \Output{array $B$ with length $A.length - 1$ containing the DFT} + \uIf{$N = 1$}{ + $B[0] \leftarrow A[0]$ \; + } \uElse{ + $B[0], \dots, B[\frac{N}{2} - 1] \leftarrow \texttt{FFT}(A, i, \frac{N}{2}, 2s)$ \; + $B[\frac{N}{2}], \dots, B[N - 1] \leftarrow \texttt{FFT}(A, i + s, \frac{N}{2}, 2s)$ \; + \For{$k = 0$ to $\frac{N}{2} - 1$}{ + $t \leftarrow B[k]$ \; + $B[k] \leftarrow t + e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; + $B[k + \frac{N}{2}] \leftarrow t - e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; + } + } + \Return{B} + \label{alg:FFT} +\end{algorithm} + +There is just this one problem we have, the algorithm in \autoref{alg:FFT} can only handle one dimension, and we need to support multidimensional arrays. So let us define a multidimensional FFT +first in \autoref{eq:NFFT}. Here $N$ and $M$ are the amount of indices for the dimensions, where $M$ are the amount of indices for the first dimension and $N$ are the amount of indices for the +second dimension. This can of course be extended in the same way for a $p$-dimensional array. + +\begin{equation} + X_{k,l} = \sum_{m = 0}^{M - 1}\sum_{n = 0}^{N - 1} x_{m, n}e^{-2i\pi(\frac{mk}{M} + \frac{nl}{N})} + \label{eq:NFFT} +\end{equation} + +It is at this point that the algorithm becomes very complicated. Therefore I would like to invite you to use a library for these kinds of calculations, like Numpy \cite{numpy} for Python. If you +really want to use your own made version, you need to wait for a bit as I try to decode the literature on the algorithm for it. It is one heck of a thing to decode, so I decided to treat that at +a later point in the future. It will then be found here, so you will have to stay tuned. Sorry about that, it's quite complex... \ No newline at end of file From ed45734d266186f5e2234e442a2a70ca0a9c4fc3 Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Mon, 14 Sep 2020 18:40:16 +0200 Subject: [PATCH 06/17] Finished the stream of 09-09-2020. Still need to do multidimensional FFTs though... --- tex-docs/appendices/vars.tex | 4 ++++ tex-docs/topics/control_panel.tex | 5 ++++- tex-docs/topics/master.tex | 20 ++++++++++++++++++++ tex-docs/topics/util_funcs.tex | 24 +++++++++++++++++++++++- 4 files changed, 51 insertions(+), 2 deletions(-) diff --git a/tex-docs/appendices/vars.tex b/tex-docs/appendices/vars.tex index 067bd9c..9b1f3e7 100644 --- a/tex-docs/appendices/vars.tex +++ b/tex-docs/appendices/vars.tex @@ -51,4 +51,8 @@ only applies to variables in code, every symbol in equations are explained at th \item $p_0$: The pressure of a latitude, longitude, atmospheric layer gridcell from the previous calculation round. \item $\alpha_a$: The thermal diffusivity constant for air. \item $\alpha_p$: The thermal diffusivity constant for the planet surface. + \item $smooth_t$: The smoothing parameter for the temperature. + \item $smooth_u$: The smoothing parameter for the $u$ component of the velocity. + \item $smooth_v$: The smoothing parameter for the $v$ component of the velocity. + \item $smooth_w$: The smoothing parameter for the $w$ component of the velocity. \end{itemize} \ No newline at end of file diff --git a/tex-docs/topics/control_panel.tex b/tex-docs/topics/control_panel.tex index 15dc1b2..2eeb64c 100644 --- a/tex-docs/topics/control_panel.tex +++ b/tex-docs/topics/control_panel.tex @@ -106,7 +106,10 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea $\delta y \leftarrow \frac{2\pi r}{nlat}$ \Comment*[l]{How far apart the gridpoints in the y direction are (degrees latitude)} $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \Comment*[l]{The diffusivity constant for the atmosphere} $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \Comment*[l]{The diffusivity constant for the planet surface} - + $smooth_t \leftarrow 0.9$ \Comment*[l]{the smoothing parameter for the temperature} + $smooth_u \leftarrow 0.8$ \Comment*[l]{The smoothing parameter for the $u$ component of the velocity} + $smooth_v \leftarrow 0.8$ \Comment*[l]{The smoothing parameter for the $v$ component of the velocity} + $smooth_w \leftarrow 0.3$ \Comment*[l]{The smoothing parameter for the $w$ component of the velocity} $count \leftarrow 0$ \; \For{$j \in [0, top]$}{ $heights[j] \leftarrow count$ \Comment*[l]{The height of a layer} diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex index b65a875..fcb9f04 100644 --- a/tex-docs/topics/master.tex +++ b/tex-docs/topics/master.tex @@ -134,3 +134,23 @@ the first valid index to $bla$. \label{alg:velocity clamped} \end{algorithm} +\subsection{Smoothing all the things} +On a planet wide scale, you have a lot of variety in the data. To counteract that we filter out the high frequency data. Which means that we filter out the data that occurs sporadically. So we +do not consider the data that occurs so infrequently that it means nothing. We do this for the radiation (temperature) and the velocity which is shown in \autoref{alg:smootht} and +\autoref{alg:smoothv} respectively. It is worth mentioning that \autoref{alg:smootht} is executed after we do the calculations for $T_a$ (shown in \autoref{alg:optical depth}). +\autoref{alg:smoothv} is done after \autoref{alg:velocity} but before \autoref{alg:velocity clamped}. + + +\begin{algorithm} + $T_a \leftarrow \texttt{Smooth}(T_a, smooth_t)$ \; + \caption{Smoothing the atmospheric temperature} + \label{alg:smootht} +\end{algorithm} + +\begin{algorithm} + $u \leftarrow \texttt{Smooth}(u, smooth_u)$ \; + $v \leftarrow \texttt{Smooth}(v, smooth_v)$ \; + $w \leftarrow \texttt{Smooth}(w, smooth_w)$ \; + \caption{Smoothing the velocity} + \label{alg:smoothv} +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex index a9362fd..f04fd62 100644 --- a/tex-docs/topics/util_funcs.tex +++ b/tex-docs/topics/util_funcs.tex @@ -282,6 +282,7 @@ This symmetry as it is called can be exploited to produce a divide and conquer a } } \Return{B} + \caption{One dimensional Fast Fourier Transformation} \label{alg:FFT} \end{algorithm} @@ -296,4 +297,25 @@ second dimension. This can of course be extended in the same way for a $p$-dimen It is at this point that the algorithm becomes very complicated. Therefore I would like to invite you to use a library for these kinds of calculations, like Numpy \cite{numpy} for Python. If you really want to use your own made version, you need to wait for a bit as I try to decode the literature on the algorithm for it. It is one heck of a thing to decode, so I decided to treat that at -a later point in the future. It will then be found here, so you will have to stay tuned. Sorry about that, it's quite complex... \ No newline at end of file +a later point in the future. It will then be found here, so you will have to stay tuned. Sorry about that, it's quite complex... + +With that out of the way (or rather on the TODO list), we need to create a smoothing operation out of it. We do this in \autoref{alg:smooth}. Keep in mind that \texttt{FFT} the call is to the +multidimensional Fast Fourier Transform algorithm, \texttt{IFFT} the call to the inverse of the multidimensional Fast Fourier Transform algorithm (also on the TODO list) and that the $int()$ +function ensures that the number in brackets is an integer. Also note that the inverse of the FFT might give complex answers, and we only want real answers which the $.real$ ensures. We only +take the real part and return that. + +\begin{algorithm} + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{Array $a$, smoothing factor $s$} + \Output{Array $A$ with less variation} + $nlat \leftarrow a.length$ \; + $nlon \leftarrow a[0].length$ \; + $nlevels \leftarrow a[0][0].length$ \; + $temp \leftarrow \texttt{FFT}(a)$ \; + $temp[int(nlat s):int(nlat(1 - s)),:,:] \leftarrow 0$ \; + $temp[:,int(nlon s):int(nlon(1 - s)),:] \leftarrow 0$ \; + \Return $\texttt{IFFT}(temp).real$ \; + \caption{Smoothing function} + \label{alg:smooth} +\end{algorithm} \ No newline at end of file From 1c4a2fa17f8a6d8476c70d73a1c9d5957fa9df52 Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Mon, 14 Sep 2020 18:43:39 +0200 Subject: [PATCH 07/17] Fixed incorrect PDF version --- CLAuDE NOM.pdf | Bin 397891 -> 422550 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/CLAuDE NOM.pdf b/CLAuDE NOM.pdf index db412c5800c0bcd63e5c2e97b40b125e5b75a9db..83ba8f8580cd75e0c17d95c6be463989b09502da 100644 GIT binary patch delta 305312 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 z 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%0AMk^NB3I$vv1I0V^h|w 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 delta 280410 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 z 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

!Wi(yzl+$4@Ce{VnI_2dM1_3dBlxSB&> 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 riJCGpiYgW_DZe2f@Y0rP(VL7xtu From f265687986b0f4776839a75075000d93e98ced68 Mon Sep 17 00:00:00 2001 From: anothersimulacrum <42699974+anothersimulacrum@users.noreply.github.com> Date: Fri, 18 Sep 2020 08:48:48 -0700 Subject: [PATCH 08/17] Remove platform specific cython generated files These files are platform specific, and generated each time you build the libraries for the program. This means that they aren't useful to track changes to and keep in repo, because the changes will be made on each platform and be overwritten by changes made on other platforms. --- claude_low_level_library.c | 10720 ------------- claude_low_level_library.cp38-win_amd64.pyd | Bin 77824 -> 0 bytes claude_top_level_library.c | 14544 ------------------ claude_top_level_library.cp38-win_amd64.pyd | Bin 157696 -> 0 bytes 4 files changed, 25264 deletions(-) delete mode 100644 claude_low_level_library.c delete mode 100644 claude_low_level_library.cp38-win_amd64.pyd delete mode 100644 claude_top_level_library.c delete mode 100644 claude_top_level_library.cp38-win_amd64.pyd diff --git a/claude_low_level_library.c b/claude_low_level_library.c deleted file mode 100644 index 7553cba..0000000 --- a/claude_low_level_library.c +++ /dev/null @@ -1,10720 +0,0 @@ -/* Generated by Cython 0.29.21 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "depends": [], - "name": "claude_low_level_library", - "sources": [ - "claude_low_level_library.pyx" - ] - }, - "module_name": "claude_low_level_library" -} -END: Cython Metadata */ - -#define PY_SSIZE_T_CLEAN -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.6+ or Python 3.3+. -#else -#define CYTHON_ABI "0_29_21" -#define CYTHON_HEX_VERSION 0x001D15F0 -#define CYTHON_FUTURE_DIVISION 0 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #if PY_VERSION_HEX >= 0x02070000 - #define HAVE_LONG_LONG - #endif -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#ifdef PYPY_VERSION - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#elif defined(PYSTON_VERSION) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) - #endif - #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) - #endif - #ifndef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #include "longintrepr.h" - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - #endif - #endif -#else - #include -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) && __cplusplus >= 201103L - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #elif __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__ ) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) - #define Py_OptimizeFlag 0 -#endif -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #define __Pyx_DefaultClassType PyClass_Type -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif - #define __Pyx_DefaultClassType PyType_Type -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #define __Pyx_PyCFunctionFast _PyCFunctionFast - #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords -#endif -#if CYTHON_FAST_PYCCALL -#define __Pyx_PyFastCFunction_Check(func)\ - ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) -#else -#define __Pyx_PyFastCFunction_Check(func) 0 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 - #define PyMem_RawMalloc(n) PyMem_Malloc(n) - #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) - #define PyMem_RawFree(p) PyMem_Free(p) -#endif -#if CYTHON_COMPILING_IN_PYSTON - #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -#else -#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) -#endif -#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) - #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) - #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) -#else - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t PyInt_AsLong -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) -#else - #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifndef __PYX_EXTERN_C - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__claude_low_level_library -#define __PYX_HAVE_API__claude_low_level_library -/* Early includes */ -#include -#include -#include "numpy/arrayobject.h" -#include "numpy/ufuncobject.h" -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { - const Py_UNICODE *u_end = u; - while (*u_end++) ; - return (size_t)(u_end - u - 1); -} -#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) -#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -static PyObject *__pyx_m = NULL; -static PyObject *__pyx_d; -static PyObject *__pyx_b; -static PyObject *__pyx_cython_runtime = NULL; -static PyObject *__pyx_empty_tuple; -static PyObject *__pyx_empty_bytes; -static PyObject *__pyx_empty_unicode; -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; - -/* Header.proto */ -#if !defined(CYTHON_CCOMPLEX) - #if defined(__cplusplus) - #define CYTHON_CCOMPLEX 1 - #elif defined(_Complex_I) - #define CYTHON_CCOMPLEX 1 - #else - #define CYTHON_CCOMPLEX 0 - #endif -#endif -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #include - #else - #include - #endif -#endif -#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) - #undef _Complex_I - #define _Complex_I 1.0fj -#endif - - -static const char *__pyx_f[] = { - "claude_low_level_library.pyx", - "__init__.pxd", - "type.pxd", -}; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":775 - * # in Cython to enable them only on the right systems. - * - * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - */ -typedef npy_int8 __pyx_t_5numpy_int8_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 - * - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t - */ -typedef npy_int16 __pyx_t_5numpy_int16_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":777 - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< - * ctypedef npy_int64 int64_t - * #ctypedef npy_int96 int96_t - */ -typedef npy_int32 __pyx_t_5numpy_int32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":778 - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< - * #ctypedef npy_int96 int96_t - * #ctypedef npy_int128 int128_t - */ -typedef npy_int64 __pyx_t_5numpy_int64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 - * #ctypedef npy_int128 int128_t - * - * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - */ -typedef npy_uint8 __pyx_t_5numpy_uint8_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":783 - * - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t - */ -typedef npy_uint16 __pyx_t_5numpy_uint16_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":784 - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< - * ctypedef npy_uint64 uint64_t - * #ctypedef npy_uint96 uint96_t - */ -typedef npy_uint32 __pyx_t_5numpy_uint32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< - * #ctypedef npy_uint96 uint96_t - * #ctypedef npy_uint128 uint128_t - */ -typedef npy_uint64 __pyx_t_5numpy_uint64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":789 - * #ctypedef npy_uint128 uint128_t - * - * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< - * ctypedef npy_float64 float64_t - * #ctypedef npy_float80 float80_t - */ -typedef npy_float32 __pyx_t_5numpy_float32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":790 - * - * ctypedef npy_float32 float32_t - * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< - * #ctypedef npy_float80 float80_t - * #ctypedef npy_float128 float128_t - */ -typedef npy_float64 __pyx_t_5numpy_float64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 - * # The int types are mapped a bit surprising -- - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t - */ -typedef npy_long __pyx_t_5numpy_int_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":800 - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong longlong_t - * - */ -typedef npy_longlong __pyx_t_5numpy_long_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_ulong uint_t - */ -typedef npy_longlong __pyx_t_5numpy_longlong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 - * ctypedef npy_longlong longlong_t - * - * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t - */ -typedef npy_ulong __pyx_t_5numpy_uint_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":804 - * - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulonglong_t - * - */ -typedef npy_ulonglong __pyx_t_5numpy_ulong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":805 - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_intp intp_t - */ -typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":807 - * ctypedef npy_ulonglong ulonglong_t - * - * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< - * ctypedef npy_uintp uintp_t - * - */ -typedef npy_intp __pyx_t_5numpy_intp_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":808 - * - * ctypedef npy_intp intp_t - * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< - * - * ctypedef npy_double float_t - */ -typedef npy_uintp __pyx_t_5numpy_uintp_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":810 - * ctypedef npy_uintp uintp_t - * - * ctypedef npy_double float_t # <<<<<<<<<<<<<< - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t - */ -typedef npy_double __pyx_t_5numpy_float_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":811 - * - * ctypedef npy_double float_t - * ctypedef npy_double double_t # <<<<<<<<<<<<<< - * ctypedef npy_longdouble longdouble_t - * - */ -typedef npy_double __pyx_t_5numpy_double_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":812 - * ctypedef npy_double float_t - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cfloat cfloat_t - */ -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; - -/* "claude_low_level_library.pyx":7 - * cimport cython - * - * ctypedef np.float64_t DTYPE_f # <<<<<<<<<<<<<< - * cdef float inv_180 = np.pi/180 - * cdef float inv_90 = np.pi/90 - */ -typedef __pyx_t_5numpy_float64_t __pyx_t_24claude_low_level_library_DTYPE_f; -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< float > __pyx_t_float_complex; - #else - typedef float _Complex __pyx_t_float_complex; - #endif -#else - typedef struct { float real, imag; } __pyx_t_float_complex; -#endif -static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); - -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< double > __pyx_t_double_complex; - #else - typedef double _Complex __pyx_t_double_complex; - #endif -#else - typedef struct { double real, imag; } __pyx_t_double_complex; -#endif -static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); - - -/*--- Type declarations ---*/ - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":814 - * ctypedef npy_longdouble longdouble_t - * - * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t - */ -typedef npy_cfloat __pyx_t_5numpy_cfloat_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":815 - * - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< - * ctypedef npy_clongdouble clongdouble_t - * - */ -typedef npy_cdouble __pyx_t_5numpy_cdouble_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":816 - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cdouble complex_t - */ -typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":818 - * ctypedef npy_clongdouble clongdouble_t - * - * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew1(a): - */ -typedef npy_cdouble __pyx_t_5numpy_complex_t; - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*SetupContext)(const char*, int, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -#endif - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ - const char* function_name); - -/* ArgTypeTest.proto */ -#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ - ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ - __Pyx__ArgTypeTest(obj, type, name, exact)) -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); - -/* None.proto */ -static CYTHON_INLINE __pyx_t_5numpy_int_t __Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_5numpy_int_t, __pyx_t_5numpy_int_t); - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} -#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyCFunctionFastCall.proto */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); -#else -#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#else -#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* None.proto */ -static CYTHON_INLINE __pyx_t_24claude_low_level_library_DTYPE_f __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_24claude_low_level_library_DTYPE_f, __pyx_t_24claude_low_level_library_DTYPE_f); - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* RaiseNoneIterError.proto */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); - -/* ExtTypeTest.proto */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* TypeImport.proto */ -#ifndef __PYX_HAVE_RT_ImportType_proto -#define __PYX_HAVE_RT_ImportType_proto -enum __Pyx_ImportType_CheckSize { - __Pyx_ImportType_CheckSize_Error = 0, - __Pyx_ImportType_CheckSize_Warn = 1, - __Pyx_ImportType_CheckSize_Ignore = 2 -}; -static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value); - -/* RealImag.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #define __Pyx_CREAL(z) ((z).real()) - #define __Pyx_CIMAG(z) ((z).imag()) - #else - #define __Pyx_CREAL(z) (__real__(z)) - #define __Pyx_CIMAG(z) (__imag__(z)) - #endif -#else - #define __Pyx_CREAL(z) ((z).real) - #define __Pyx_CIMAG(z) ((z).imag) -#endif -#if defined(__cplusplus) && CYTHON_CCOMPLEX\ - && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) - #define __Pyx_SET_CREAL(z,x) ((z).real(x)) - #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) -#else - #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) - #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_float(a, b) ((a)==(b)) - #define __Pyx_c_sum_float(a, b) ((a)+(b)) - #define __Pyx_c_diff_float(a, b) ((a)-(b)) - #define __Pyx_c_prod_float(a, b) ((a)*(b)) - #define __Pyx_c_quot_float(a, b) ((a)/(b)) - #define __Pyx_c_neg_float(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_float(z) ((z)==(float)0) - #define __Pyx_c_conj_float(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_float(z) (::std::abs(z)) - #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_float(z) ((z)==0) - #define __Pyx_c_conj_float(z) (conjf(z)) - #if 1 - #define __Pyx_c_abs_float(z) (cabsf(z)) - #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); - #endif -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_double(a, b) ((a)==(b)) - #define __Pyx_c_sum_double(a, b) ((a)+(b)) - #define __Pyx_c_diff_double(a, b) ((a)-(b)) - #define __Pyx_c_prod_double(a, b) ((a)*(b)) - #define __Pyx_c_quot_double(a, b) ((a)/(b)) - #define __Pyx_c_neg_double(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_double(z) ((z)==(double)0) - #define __Pyx_c_conj_double(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (::std::abs(z)) - #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_double(z) ((z)==0) - #define __Pyx_c_conj_double(z) (conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (cabs(z)) - #define __Pyx_c_pow_double(a, b) (cpow(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); - #endif -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(void); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - - -/* Module declarations from 'cpython.buffer' */ - -/* Module declarations from 'libc.string' */ - -/* Module declarations from 'libc.stdio' */ - -/* Module declarations from '__builtin__' */ - -/* Module declarations from 'cpython.type' */ -static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; - -/* Module declarations from 'cpython' */ - -/* Module declarations from 'cpython.object' */ - -/* Module declarations from 'cpython.ref' */ - -/* Module declarations from 'cpython.mem' */ - -/* Module declarations from 'numpy' */ - -/* Module declarations from 'numpy' */ -static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; -static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; -static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; -static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; -static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ - -/* Module declarations from 'cython' */ - -/* Module declarations from 'claude_low_level_library' */ -static float __pyx_v_24claude_low_level_library_inv_180; -static float __pyx_v_24claude_low_level_library_inv_90; -#define __Pyx_MODULE_NAME "claude_low_level_library" -extern int __pyx_module_is_main_claude_low_level_library; -int __pyx_module_is_main_claude_low_level_library = 0; - -/* Implementation of 'claude_low_level_library' */ -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_RuntimeError; -static PyObject *__pyx_builtin_ImportError; -static const char __pyx_k_a[] = "a"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_j[] = "j"; -static const char __pyx_k_k[] = "k"; -static const char __pyx_k_t[] = "t"; -static const char __pyx_k_dx[] = "dx"; -static const char __pyx_k_dy[] = "dy"; -static const char __pyx_k_dz[] = "dz"; -static const char __pyx_k_np[] = "np"; -static const char __pyx_k_pi[] = "pi"; -static const char __pyx_k_cos[] = "cos"; -static const char __pyx_k_day[] = "day"; -static const char __pyx_k_lat[] = "lat"; -static const char __pyx_k_lon[] = "lon"; -static const char __pyx_k_axis[] = "axis"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_mean[] = "mean"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_nlat[] = "nlat"; -static const char __pyx_k_nlon[] = "nlon"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_year[] = "year"; -static const char __pyx_k_numpy[] = "numpy"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_sigma[] = "sigma"; -static const char __pyx_k_solar[] = "solar"; -static const char __pyx_k_value[] = "value"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_inv_90[] = "inv_90"; -static const char __pyx_k_cos_lon[] = "cos_lon"; -static const char __pyx_k_nlevels[] = "nlevels"; -static const char __pyx_k_profile[] = "profile"; -static const char __pyx_k_lon_diff[] = "lon_diff"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_axial_tilt[] = "axial_tilt"; -static const char __pyx_k_insolation[] = "insolation"; -static const char __pyx_k_ImportError[] = "ImportError"; -static const char __pyx_k_RuntimeError[] = "RuntimeError"; -static const char __pyx_k_sun_latitude[] = "sun_latitude"; -static const char __pyx_k_sun_longitude[] = "sun_longitude"; -static const char __pyx_k_scalar_gradient_x[] = "scalar_gradient_x"; -static const char __pyx_k_scalar_gradient_y[] = "scalar_gradient_y"; -static const char __pyx_k_scalar_gradient_z[] = "scalar_gradient_z"; -static const char __pyx_k_thermal_radiation[] = "thermal_radiation"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_scalar_gradient_x_2D[] = "scalar_gradient_x_2D"; -static const char __pyx_k_scalar_gradient_y_2D[] = "scalar_gradient_y_2D"; -static const char __pyx_k_scalar_gradient_z_1D[] = "scalar_gradient_z_1D"; -static const char __pyx_k_surface_optical_depth[] = "surface_optical_depth"; -static const char __pyx_k_claude_low_level_library[] = "claude_low_level_library"; -static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; -static const char __pyx_k_claude_low_level_library_pyx[] = "claude_low_level_library.pyx"; -static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; -static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; -static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; -static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; -static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; -static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; -static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; -static PyObject *__pyx_n_s_ImportError; -static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; -static PyObject *__pyx_n_s_RuntimeError; -static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_n_s_a; -static PyObject *__pyx_n_s_axial_tilt; -static PyObject *__pyx_n_s_axis; -static PyObject *__pyx_n_s_claude_low_level_library; -static PyObject *__pyx_kp_s_claude_low_level_library_pyx; -static PyObject *__pyx_n_s_cline_in_traceback; -static PyObject *__pyx_n_s_cos; -static PyObject *__pyx_n_s_cos_lon; -static PyObject *__pyx_n_s_day; -static PyObject *__pyx_n_s_dx; -static PyObject *__pyx_n_s_dy; -static PyObject *__pyx_n_s_dz; -static PyObject *__pyx_n_s_i; -static PyObject *__pyx_n_s_import; -static PyObject *__pyx_n_s_insolation; -static PyObject *__pyx_n_s_inv_90; -static PyObject *__pyx_n_s_j; -static PyObject *__pyx_n_s_k; -static PyObject *__pyx_n_s_lat; -static PyObject *__pyx_n_s_lon; -static PyObject *__pyx_n_s_lon_diff; -static PyObject *__pyx_n_s_main; -static PyObject *__pyx_n_s_mean; -static PyObject *__pyx_n_s_name; -static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; -static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; -static PyObject *__pyx_n_s_nlat; -static PyObject *__pyx_n_s_nlevels; -static PyObject *__pyx_n_s_nlon; -static PyObject *__pyx_n_s_np; -static PyObject *__pyx_n_s_numpy; -static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; -static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; -static PyObject *__pyx_n_s_pi; -static PyObject *__pyx_n_s_profile; -static PyObject *__pyx_n_s_range; -static PyObject *__pyx_n_s_scalar_gradient_x; -static PyObject *__pyx_n_s_scalar_gradient_x_2D; -static PyObject *__pyx_n_s_scalar_gradient_y; -static PyObject *__pyx_n_s_scalar_gradient_y_2D; -static PyObject *__pyx_n_s_scalar_gradient_z; -static PyObject *__pyx_n_s_scalar_gradient_z_1D; -static PyObject *__pyx_n_s_sigma; -static PyObject *__pyx_n_s_solar; -static PyObject *__pyx_n_s_sun_latitude; -static PyObject *__pyx_n_s_sun_longitude; -static PyObject *__pyx_n_s_surface_optical_depth; -static PyObject *__pyx_n_s_t; -static PyObject *__pyx_n_s_test; -static PyObject *__pyx_n_s_thermal_radiation; -static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; -static PyObject *__pyx_n_s_value; -static PyObject *__pyx_n_s_year; -static PyObject *__pyx_pf_24claude_low_level_library_scalar_gradient_x(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_4scalar_gradient_y(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_6scalar_gradient_y_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_8scalar_gradient_z(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_k); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_12surface_optical_depth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_14thermal_radiation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_16solar(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt); /* proto */ -static PyObject *__pyx_pf_24claude_low_level_library_18profile(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a); /* proto */ -static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */ -static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */ -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_2; -static PyObject *__pyx_int_4; -static PyObject *__pyx_int_90; -static PyObject *__pyx_int_180; -static PyObject *__pyx_tuple_; -static PyObject *__pyx_tuple__2; -static PyObject *__pyx_tuple__3; -static PyObject *__pyx_tuple__4; -static PyObject *__pyx_tuple__5; -static PyObject *__pyx_tuple__6; -static PyObject *__pyx_tuple__7; -static PyObject *__pyx_tuple__8; -static PyObject *__pyx_tuple__10; -static PyObject *__pyx_tuple__12; -static PyObject *__pyx_tuple__14; -static PyObject *__pyx_tuple__16; -static PyObject *__pyx_tuple__18; -static PyObject *__pyx_tuple__20; -static PyObject *__pyx_tuple__22; -static PyObject *__pyx_tuple__24; -static PyObject *__pyx_tuple__26; -static PyObject *__pyx_codeobj__9; -static PyObject *__pyx_codeobj__11; -static PyObject *__pyx_codeobj__13; -static PyObject *__pyx_codeobj__15; -static PyObject *__pyx_codeobj__17; -static PyObject *__pyx_codeobj__19; -static PyObject *__pyx_codeobj__21; -static PyObject *__pyx_codeobj__23; -static PyObject *__pyx_codeobj__25; -static PyObject *__pyx_codeobj__27; -/* Late includes */ - -/* "claude_low_level_library.pyx":13 - * # define various useful differential functions: - * # gradient of scalar field a in the local x direction at point i,j - * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_1scalar_gradient_x(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_1scalar_gradient_x = {"scalar_gradient_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_1scalar_gradient_x, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_1scalar_gradient_x(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_x (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_nlon,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 1); __PYX_ERR(0, 13, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlon)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 2); __PYX_ERR(0, 13, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 3); __PYX_ERR(0, 13, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 4); __PYX_ERR(0, 13, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, 5); __PYX_ERR(0, 13, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_x") < 0)) __PYX_ERR(0, 13, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dx = ((PyArrayObject *)values[1]); - __pyx_v_nlon = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlon == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) - __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) - __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) - __pyx_v_k = __Pyx_PyInt_As_npy_long(values[5]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 13, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 13, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_scalar_gradient_x(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j, __pyx_v_k); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_scalar_gradient_x(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - __pyx_t_5numpy_int_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_x", 0); - - /* "claude_low_level_library.pyx":14 - * # gradient of scalar field a in the local x direction at point i,j - * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] # <<<<<<<<<<<<<< - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__pyx_v_j + 1); - if (unlikely(__pyx_v_nlon == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); - __PYX_ERR(0, 14, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = (__pyx_v_j - 1); - if (unlikely(__pyx_v_nlon == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); - __PYX_ERR(0, 14, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1); - __pyx_t_5 = 0; - __pyx_t_3 = 0; - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dx), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":13 - * # define various useful differential functions: - * # gradient of scalar field a in the local x direction at point i,j - * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":16 - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_3scalar_gradient_x_2D = {"scalar_gradient_x_2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_3scalar_gradient_x_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_x_2D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_nlon,&__pyx_n_s_i,&__pyx_n_s_j,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 1); __PYX_ERR(0, 16, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlon)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 2); __PYX_ERR(0, 16, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 3); __PYX_ERR(0, 16, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, 4); __PYX_ERR(0, 16, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_x_2D") < 0)) __PYX_ERR(0, 16, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dx = ((PyArrayObject *)values[1]); - __pyx_v_nlon = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlon == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_x_2D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 16, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 16, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_nlon, __pyx_v_i, __pyx_v_j); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_2scalar_gradient_x_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_5numpy_int_t __pyx_v_nlon, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - __pyx_t_5numpy_int_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_x_2D", 0); - - /* "claude_low_level_library.pyx":17 - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): - * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] # <<<<<<<<<<<<<< - * - * # gradient of scalar field a in the local y direction at point i,j - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__pyx_v_j + 1); - if (unlikely(__pyx_v_nlon == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); - __PYX_ERR(0, 17, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = (__pyx_v_j - 1); - if (unlikely(__pyx_v_nlon == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero"); - __PYX_ERR(0, 17, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_2, __pyx_v_nlon)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); - __pyx_t_4 = 0; - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dx), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":16 - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_x_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":20 - * - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_5scalar_gradient_y(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_5scalar_gradient_y = {"scalar_gradient_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_5scalar_gradient_y, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_5scalar_gradient_y(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_y (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dy,&__pyx_n_s_nlat,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 1); __PYX_ERR(0, 20, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlat)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 2); __PYX_ERR(0, 20, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 3); __PYX_ERR(0, 20, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 4); __PYX_ERR(0, 20, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, 5); __PYX_ERR(0, 20, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_y") < 0)) __PYX_ERR(0, 20, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) - __pyx_v_nlat = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlat == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) - __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) - __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) - __pyx_v_k = __Pyx_PyInt_As_npy_long(values[5]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 20, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_4scalar_gradient_y(__pyx_self, __pyx_v_a, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j, __pyx_v_k); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_4scalar_gradient_y(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_y", 0); - - /* "claude_low_level_library.pyx":21 - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): - * if i == 0: # <<<<<<<<<<<<<< - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - * elif i == nlat-1: - */ - __pyx_t_1 = ((__pyx_v_i == 0) != 0); - if (__pyx_t_1) { - - /* "claude_low_level_library.pyx":22 - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy # <<<<<<<<<<<<<< - * elif i == nlat-1: - * return 2*(a[i,j,k]-a[i-1,j,k])/dy - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); - __pyx_t_2 = 0; - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2); - __pyx_t_5 = 0; - __pyx_t_3 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":21 - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): - * if i == 0: # <<<<<<<<<<<<<< - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - * elif i == nlat-1: - */ - } - - /* "claude_low_level_library.pyx":23 - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - * elif i == nlat-1: # <<<<<<<<<<<<<< - * return 2*(a[i,j,k]-a[i-1,j,k])/dy - * else: - */ - __pyx_t_1 = ((__pyx_v_i == (__pyx_v_nlat - 1)) != 0); - if (__pyx_t_1) { - - /* "claude_low_level_library.pyx":24 - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - * elif i == nlat-1: - * return 2*(a[i,j,k]-a[i-1,j,k])/dy # <<<<<<<<<<<<<< - * else: - * return (a[i+1,j,k]-a[i-1,j,k])/dy - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_6 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); - __pyx_t_3 = 0; - __pyx_t_6 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Subtract(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":23 - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - * elif i == nlat-1: # <<<<<<<<<<<<<< - * return 2*(a[i,j,k]-a[i-1,j,k])/dy - * else: - */ - } - - /* "claude_low_level_library.pyx":26 - * return 2*(a[i,j,k]-a[i-1,j,k])/dy - * else: - * return (a[i+1,j,k]-a[i-1,j,k])/dy # <<<<<<<<<<<<<< - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4); - __pyx_t_2 = 0; - __pyx_t_5 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); - __pyx_t_6 = 0; - __pyx_t_5 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - } - - /* "claude_low_level_library.pyx":20 - * - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":28 - * return (a[i+1,j,k]-a[i-1,j,k])/dy - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_7scalar_gradient_y_2D = {"scalar_gradient_y_2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_7scalar_gradient_y_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_y_2D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dy,&__pyx_n_s_nlat,&__pyx_n_s_i,&__pyx_n_s_j,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2D", 1, 5, 5, 1); __PYX_ERR(0, 28, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nlat)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2D", 1, 5, 5, 2); __PYX_ERR(0, 28, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2D", 1, 5, 5, 3); __PYX_ERR(0, 28, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2D", 1, 5, 5, 4); __PYX_ERR(0, 28, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_y_2D") < 0)) __PYX_ERR(0, 28, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 28, __pyx_L3_error) - __pyx_v_nlat = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_nlat == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 28, __pyx_L3_error) - __pyx_v_i = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 28, __pyx_L3_error) - __pyx_v_j = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 28, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_y_2D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 28, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 28, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_6scalar_gradient_y_2D(__pyx_self, __pyx_v_a, __pyx_v_dy, __pyx_v_nlat, __pyx_v_i, __pyx_v_j); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_6scalar_gradient_y_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_dy, __pyx_t_5numpy_int_t __pyx_v_nlat, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_y_2D", 0); - - /* "claude_low_level_library.pyx":29 - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): - * if i == 0: # <<<<<<<<<<<<<< - * return 2*(a[i+1,j]-a[i,j])/dy - * elif i == nlat-1: - */ - __pyx_t_1 = ((__pyx_v_i == 0) != 0); - if (__pyx_t_1) { - - /* "claude_low_level_library.pyx":30 - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy # <<<<<<<<<<<<<< - * elif i == nlat-1: - * return 2*(a[i,j]-a[i-1,j])/dy - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_2 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":29 - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): - * if i == 0: # <<<<<<<<<<<<<< - * return 2*(a[i+1,j]-a[i,j])/dy - * elif i == nlat-1: - */ - } - - /* "claude_low_level_library.pyx":31 - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - * elif i == nlat-1: # <<<<<<<<<<<<<< - * return 2*(a[i,j]-a[i-1,j])/dy - * else: - */ - __pyx_t_1 = ((__pyx_v_i == (__pyx_v_nlat - 1)) != 0); - if (__pyx_t_1) { - - /* "claude_low_level_library.pyx":32 - * return 2*(a[i+1,j]-a[i,j])/dy - * elif i == nlat-1: - * return 2*(a[i,j]-a[i-1,j])/dy # <<<<<<<<<<<<<< - * else: - * return (a[i+1,j]-a[i-1,j])/dy - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_2 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Multiply(__pyx_int_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":31 - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - * elif i == nlat-1: # <<<<<<<<<<<<<< - * return 2*(a[i,j]-a[i-1,j])/dy - * else: - */ - } - - /* "claude_low_level_library.pyx":34 - * return 2*(a[i,j]-a[i-1,j])/dy - * else: - * return (a[i+1,j]-a[i-1,j])/dy # <<<<<<<<<<<<<< - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); - __pyx_t_5 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - } - - /* "claude_low_level_library.pyx":28 - * return (a[i+1,j,k]-a[i-1,j,k])/dy - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_y_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":36 - * return (a[i+1,j]-a[i-1,j])/dy - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_9scalar_gradient_z(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_9scalar_gradient_z = {"scalar_gradient_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_9scalar_gradient_z, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_9scalar_gradient_z(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dz = 0; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_z (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dz,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 1); __PYX_ERR(0, 36, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 2); __PYX_ERR(0, 36, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 3); __PYX_ERR(0, 36, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, 4); __PYX_ERR(0, 36, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_z") < 0)) __PYX_ERR(0, 36, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dz = ((PyArrayObject *)values[1]); - __pyx_v_i = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_i == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - __pyx_v_j = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_j == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - __pyx_v_k = __Pyx_PyInt_As_npy_long(values[4]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 36, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 36, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 36, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_8scalar_gradient_z(__pyx_self, __pyx_v_a, __pyx_v_dz, __pyx_v_i, __pyx_v_j, __pyx_v_k); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_8scalar_gradient_z(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_i, __pyx_t_5numpy_int_t __pyx_v_j, __pyx_t_5numpy_int_t __pyx_v_k) { - __pyx_t_5numpy_int_t __pyx_v_nlevels; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_z", 0); - - /* "claude_low_level_library.pyx":37 - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): - * cdef np.int_t nlevels = len(dz) # <<<<<<<<<<<<<< - * if k == 0: - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - */ - __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_dz)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37, __pyx_L1_error) - __pyx_v_nlevels = __pyx_t_1; - - /* "claude_low_level_library.pyx":38 - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): - * cdef np.int_t nlevels = len(dz) - * if k == 0: # <<<<<<<<<<<<<< - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - * elif k == nlevels-1: - */ - __pyx_t_2 = ((__pyx_v_k == 0) != 0); - if (__pyx_t_2) { - - /* "claude_low_level_library.pyx":39 - * cdef np.int_t nlevels = len(dz) - * if k == 0: - * return (a[i,j,k+1]-a[i,j,k])/dz[k] # <<<<<<<<<<<<<< - * elif k == nlevels-1: - * return (a[i,j,k]-a[i,j,k-1])/dz[k] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyInt_From_npy_long((__pyx_v_k + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_3); - __pyx_t_6 = 0; - __pyx_t_4 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyNumber_Subtract(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":38 - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): - * cdef np.int_t nlevels = len(dz) - * if k == 0: # <<<<<<<<<<<<<< - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - * elif k == nlevels-1: - */ - } - - /* "claude_low_level_library.pyx":40 - * if k == 0: - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - * elif k == nlevels-1: # <<<<<<<<<<<<<< - * return (a[i,j,k]-a[i,j,k-1])/dz[k] - * else: - */ - __pyx_t_2 = ((__pyx_v_k == (__pyx_v_nlevels - 1)) != 0); - if (__pyx_t_2) { - - /* "claude_low_level_library.pyx":41 - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - * elif k == nlevels-1: - * return (a[i,j,k]-a[i,j,k-1])/dz[k] # <<<<<<<<<<<<<< - * else: - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_7); - __pyx_t_5 = 0; - __pyx_t_3 = 0; - __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_From_npy_long((__pyx_v_k - 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Subtract(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":40 - * if k == 0: - * return (a[i,j,k+1]-a[i,j,k])/dz[k] - * elif k == nlevels-1: # <<<<<<<<<<<<<< - * return (a[i,j,k]-a[i,j,k-1])/dz[k] - * else: - */ - } - - /* "claude_low_level_library.pyx":43 - * return (a[i,j,k]-a[i,j,k-1])/dz[k] - * else: - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) # <<<<<<<<<<<<<< - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_7 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyInt_From_npy_long((__pyx_v_k + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_6); - __pyx_t_7 = 0; - __pyx_t_5 = 0; - __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyInt_From_npy_long((__pyx_v_k - 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_7); - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = PyNumber_Multiply(__pyx_int_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_r = __pyx_t_7; - __pyx_t_7 = 0; - goto __pyx_L0; - } - - /* "claude_low_level_library.pyx":36 - * return (a[i+1,j]-a[i-1,j])/dy - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":45 - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_11scalar_gradient_z_1D = {"scalar_gradient_z_1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_11scalar_gradient_z_1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dz = 0; - __pyx_t_5numpy_int_t __pyx_v_k; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("scalar_gradient_z_1D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dz,&__pyx_n_s_k,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 3, 3, 1); __PYX_ERR(0, 45, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 3, 3, 2); __PYX_ERR(0, 45, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scalar_gradient_z_1D") < 0)) __PYX_ERR(0, 45, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dz = ((PyArrayObject *)values[1]); - __pyx_v_k = __Pyx_PyInt_As_npy_long(values[2]); if (unlikely((__pyx_v_k == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 45, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("scalar_gradient_z_1D", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 45, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z_1D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 45, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 45, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(__pyx_self, __pyx_v_a, __pyx_v_dz, __pyx_v_k); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_10scalar_gradient_z_1D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_k) { - __pyx_t_5numpy_int_t __pyx_v_nlevels; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - __pyx_t_5numpy_int_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("scalar_gradient_z_1D", 0); - - /* "claude_low_level_library.pyx":46 - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): - * cdef np.int_t nlevels = len(dz) # <<<<<<<<<<<<<< - * if k == 0: - * return (a[k+1]-a[k])/dz[k] - */ - __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_dz)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46, __pyx_L1_error) - __pyx_v_nlevels = __pyx_t_1; - - /* "claude_low_level_library.pyx":47 - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): - * cdef np.int_t nlevels = len(dz) - * if k == 0: # <<<<<<<<<<<<<< - * return (a[k+1]-a[k])/dz[k] - * elif k == nlevels-1: - */ - __pyx_t_2 = ((__pyx_v_k == 0) != 0); - if (__pyx_t_2) { - - /* "claude_low_level_library.pyx":48 - * cdef np.int_t nlevels = len(dz) - * if k == 0: - * return (a[k+1]-a[k])/dz[k] # <<<<<<<<<<<<<< - * elif k == nlevels-1: - * return (a[k]-a[k-1])/dz[k] - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = (__pyx_v_k + 1); - __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_3, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":47 - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): - * cdef np.int_t nlevels = len(dz) - * if k == 0: # <<<<<<<<<<<<<< - * return (a[k+1]-a[k])/dz[k] - * elif k == nlevels-1: - */ - } - - /* "claude_low_level_library.pyx":49 - * if k == 0: - * return (a[k+1]-a[k])/dz[k] - * elif k == nlevels-1: # <<<<<<<<<<<<<< - * return (a[k]-a[k-1])/dz[k] - * else: - */ - __pyx_t_2 = ((__pyx_v_k == (__pyx_v_nlevels - 1)) != 0); - if (__pyx_t_2) { - - /* "claude_low_level_library.pyx":50 - * return (a[k+1]-a[k])/dz[k] - * elif k == nlevels-1: - * return (a[k]-a[k-1])/dz[k] # <<<<<<<<<<<<<< - * else: - * return (a[k+1]-a[k-1])/(2*dz[k]) - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = (__pyx_v_k - 1); - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_3, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":49 - * if k == 0: - * return (a[k+1]-a[k])/dz[k] - * elif k == nlevels-1: # <<<<<<<<<<<<<< - * return (a[k]-a[k-1])/dz[k] - * else: - */ - } - - /* "claude_low_level_library.pyx":52 - * return (a[k]-a[k-1])/dz[k] - * else: - * return (a[k+1]-a[k-1])/(2*dz[k]) # <<<<<<<<<<<<<< - * - * def surface_optical_depth(DTYPE_f lat): - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = (__pyx_v_k + 1); - __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_3, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = (__pyx_v_k - 1); - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_a), __pyx_t_3, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - } - - /* "claude_low_level_library.pyx":45 - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("claude_low_level_library.scalar_gradient_z_1D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":54 - * return (a[k+1]-a[k-1])/(2*dz[k]) - * - * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< - * cdef DTYPE_f inv_90 - * return 4 + np.cos(lat*inv_90)*2 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_13surface_optical_depth(PyObject *__pyx_self, PyObject *__pyx_arg_lat); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_13surface_optical_depth = {"surface_optical_depth", (PyCFunction)__pyx_pw_24claude_low_level_library_13surface_optical_depth, METH_O, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_13surface_optical_depth(PyObject *__pyx_self, PyObject *__pyx_arg_lat) { - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("surface_optical_depth (wrapper)", 0); - assert(__pyx_arg_lat); { - __pyx_v_lat = __pyx_PyFloat_AsDouble(__pyx_arg_lat); if (unlikely((__pyx_v_lat == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.surface_optical_depth", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_24claude_low_level_library_12surface_optical_depth(__pyx_self, ((__pyx_t_24claude_low_level_library_DTYPE_f)__pyx_v_lat)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_12surface_optical_depth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat) { - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_inv_90; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("surface_optical_depth", 0); - - /* "claude_low_level_library.pyx":56 - * def surface_optical_depth(DTYPE_f lat): - * cdef DTYPE_f inv_90 - * return 4 + np.cos(lat*inv_90)*2 # <<<<<<<<<<<<<< - * - * def thermal_radiation(DTYPE_f a): - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble((__pyx_v_lat * __pyx_v_inv_90)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_int_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_AddCObj(__pyx_int_4, __pyx_t_3, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":54 - * return (a[k+1]-a[k-1])/(2*dz[k]) - * - * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< - * cdef DTYPE_f inv_90 - * return 4 + np.cos(lat*inv_90)*2 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("claude_low_level_library.surface_optical_depth", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":58 - * return 4 + np.cos(lat*inv_90)*2 - * - * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< - * cdef DTYPE_f sigma = 5.67E-8 - * return sigma*(a**4) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_15thermal_radiation(PyObject *__pyx_self, PyObject *__pyx_arg_a); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_15thermal_radiation = {"thermal_radiation", (PyCFunction)__pyx_pw_24claude_low_level_library_15thermal_radiation, METH_O, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_15thermal_radiation(PyObject *__pyx_self, PyObject *__pyx_arg_a) { - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("thermal_radiation (wrapper)", 0); - assert(__pyx_arg_a); { - __pyx_v_a = __pyx_PyFloat_AsDouble(__pyx_arg_a); if (unlikely((__pyx_v_a == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.thermal_radiation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_24claude_low_level_library_14thermal_radiation(__pyx_self, ((__pyx_t_24claude_low_level_library_DTYPE_f)__pyx_v_a)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_14thermal_radiation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_a) { - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_sigma; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("thermal_radiation", 0); - - /* "claude_low_level_library.pyx":59 - * - * def thermal_radiation(DTYPE_f a): - * cdef DTYPE_f sigma = 5.67E-8 # <<<<<<<<<<<<<< - * return sigma*(a**4) - * - */ - __pyx_v_sigma = 5.67E-8; - - /* "claude_low_level_library.pyx":60 - * def thermal_radiation(DTYPE_f a): - * cdef DTYPE_f sigma = 5.67E-8 - * return sigma*(a**4) # <<<<<<<<<<<<<< - * - * # power incident on (lat,lon) at time t - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyFloat_FromDouble((__pyx_v_sigma * pow(__pyx_v_a, 4.0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":58 - * return 4 + np.cos(lat*inv_90)*2 - * - * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< - * cdef DTYPE_f sigma = 5.67E-8 - * return sigma*(a**4) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("claude_low_level_library.thermal_radiation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":63 - * - * # power incident on (lat,lon) at time t - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_17solar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_17solar = {"solar", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_low_level_library_17solar, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_17solar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon; - __pyx_t_5numpy_int_t __pyx_v_t; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year; - __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("solar (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_insolation,&__pyx_n_s_lat,&__pyx_n_s_lon,&__pyx_n_s_t,&__pyx_n_s_day,&__pyx_n_s_year,&__pyx_n_s_axial_tilt,0}; - PyObject* values[7] = {0,0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_insolation)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lat)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 1); __PYX_ERR(0, 63, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lon)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 2); __PYX_ERR(0, 63, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 3); __PYX_ERR(0, 63, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_day)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 4); __PYX_ERR(0, 63, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 5); __PYX_ERR(0, 63, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 6: - if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_axial_tilt)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, 6); __PYX_ERR(0, 63, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "solar") < 0)) __PYX_ERR(0, 63, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - } - __pyx_v_insolation = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_insolation == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_lat = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_lat == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_lon = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_lon == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_t = __Pyx_PyInt_As_npy_long(values[3]); if (unlikely((__pyx_v_t == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_day = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_day == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_year = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_year == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_v_axial_tilt = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_axial_tilt == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("solar", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 63, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_low_level_library.solar", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_24claude_low_level_library_16solar(__pyx_self, __pyx_v_insolation, __pyx_v_lat, __pyx_v_lon, __pyx_v_t, __pyx_v_day, __pyx_v_year, __pyx_v_axial_tilt); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_16solar(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_insolation, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lat, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_lon, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_low_level_library_DTYPE_f __pyx_v_axial_tilt) { - float __pyx_v_sun_longitude; - float __pyx_v_sun_latitude; - float __pyx_v_value; - float __pyx_v_lon_diff; - float __pyx_v_cos_lon; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __pyx_t_5numpy_int_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - float __pyx_t_8; - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("solar", 0); - - /* "claude_low_level_library.pyx":64 - * # power incident on (lat,lon) at time t - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): - * cdef float sun_longitude = -t % day # <<<<<<<<<<<<<< - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) - */ - __pyx_t_1 = (-__pyx_v_t); - if (unlikely(__pyx_v_day == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "float divmod()"); - __PYX_ERR(0, 64, __pyx_L1_error) - } - __pyx_v_sun_longitude = __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_1, __pyx_v_day); - - /* "claude_low_level_library.pyx":65 - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) # <<<<<<<<<<<<<< - * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) - * cdef float lon_diff, cos_lon - */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_cos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_From_npy_long((__pyx_v_t * 2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_pi); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Multiply(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_5); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_sun_latitude = __pyx_t_8; - - /* "claude_low_level_library.pyx":66 - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - * cdef float value = insolation*np.cos((lat-sun_latitude)*inv_180) # <<<<<<<<<<<<<< - * cdef float lon_diff, cos_lon - * - */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(((__pyx_v_lat - __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Multiply(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_4); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_value = __pyx_t_8; - - /* "claude_low_level_library.pyx":69 - * cdef float lon_diff, cos_lon - * - * if value < 0: # <<<<<<<<<<<<<< - * return 0 - * else: - */ - __pyx_t_9 = ((__pyx_v_value < 0.0) != 0); - if (__pyx_t_9) { - - /* "claude_low_level_library.pyx":70 - * - * if value < 0: - * return 0 # <<<<<<<<<<<<<< - * else: - * sun_longitude *= 360/day - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_int_0); - __pyx_r = __pyx_int_0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":69 - * cdef float lon_diff, cos_lon - * - * if value < 0: # <<<<<<<<<<<<<< - * return 0 - * else: - */ - } - - /* "claude_low_level_library.pyx":72 - * return 0 - * else: - * sun_longitude *= 360/day # <<<<<<<<<<<<<< - * lon_diff = lon-sun_longitude - * cos_lon = np.cos(lon_diff*inv_180) - */ - /*else*/ { - if (unlikely(__pyx_v_day == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - __PYX_ERR(0, 72, __pyx_L1_error) - } - __pyx_v_sun_longitude = (__pyx_v_sun_longitude * (360.0 / __pyx_v_day)); - - /* "claude_low_level_library.pyx":73 - * else: - * sun_longitude *= 360/day - * lon_diff = lon-sun_longitude # <<<<<<<<<<<<<< - * cos_lon = np.cos(lon_diff*inv_180) - * value *= cos_lon - */ - __pyx_v_lon_diff = (__pyx_v_lon - __pyx_v_sun_longitude); - - /* "claude_low_level_library.pyx":74 - * sun_longitude *= 360/day - * lon_diff = lon-sun_longitude - * cos_lon = np.cos(lon_diff*inv_180) # <<<<<<<<<<<<<< - * value *= cos_lon - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cos); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble((__pyx_v_lon_diff * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __pyx_PyFloat_AsFloat(__pyx_t_4); if (unlikely((__pyx_t_8 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cos_lon = __pyx_t_8; - - /* "claude_low_level_library.pyx":75 - * lon_diff = lon-sun_longitude - * cos_lon = np.cos(lon_diff*inv_180) - * value *= cos_lon # <<<<<<<<<<<<<< - * - * if value < 0: - */ - __pyx_v_value = (__pyx_v_value * __pyx_v_cos_lon); - - /* "claude_low_level_library.pyx":77 - * value *= cos_lon - * - * if value < 0: # <<<<<<<<<<<<<< - * if lat + sun_latitude > 90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - */ - __pyx_t_9 = ((__pyx_v_value < 0.0) != 0); - if (__pyx_t_9) { - - /* "claude_low_level_library.pyx":78 - * - * if value < 0: - * if lat + sun_latitude > 90: # <<<<<<<<<<<<<< - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * elif lat + sun_latitude < -90: - */ - __pyx_t_9 = (((__pyx_v_lat + __pyx_v_sun_latitude) > 90.0) != 0); - if (__pyx_t_9) { - - /* "claude_low_level_library.pyx":79 - * if value < 0: - * if lat + sun_latitude > 90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon # <<<<<<<<<<<<<< - * elif lat + sun_latitude < -90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(((__pyx_v_lat + __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_cos_lon); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":78 - * - * if value < 0: - * if lat + sun_latitude > 90: # <<<<<<<<<<<<<< - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * elif lat + sun_latitude < -90: - */ - } - - /* "claude_low_level_library.pyx":80 - * if lat + sun_latitude > 90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * elif lat + sun_latitude < -90: # <<<<<<<<<<<<<< - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * else: - */ - __pyx_t_9 = (((__pyx_v_lat + __pyx_v_sun_latitude) < -90.0) != 0); - if (__pyx_t_9) { - - /* "claude_low_level_library.pyx":81 - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * elif lat + sun_latitude < -90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon # <<<<<<<<<<<<<< - * else: - * return 0 - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble(((__pyx_v_lat + __pyx_v_sun_latitude) * __pyx_v_24claude_low_level_library_inv_180)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_cos_lon); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":80 - * if lat + sun_latitude > 90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * elif lat + sun_latitude < -90: # <<<<<<<<<<<<<< - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * else: - */ - } - - /* "claude_low_level_library.pyx":83 - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - * else: - * return 0 # <<<<<<<<<<<<<< - * else: - * return value - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_int_0); - __pyx_r = __pyx_int_0; - goto __pyx_L0; - } - - /* "claude_low_level_library.pyx":77 - * value *= cos_lon - * - * if value < 0: # <<<<<<<<<<<<<< - * if lat + sun_latitude > 90: - * return insolation*np.cos((lat+sun_latitude)*inv_180)*cos_lon - */ - } - - /* "claude_low_level_library.pyx":85 - * return 0 - * else: - * return value # <<<<<<<<<<<<<< - * - * def profile(np.ndarray a): - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - } - } - - /* "claude_low_level_library.pyx":63 - * - * # power incident on (lat,lon) at time t - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("claude_low_level_library.solar", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_low_level_library.pyx":87 - * return value - * - * def profile(np.ndarray a): # <<<<<<<<<<<<<< - * return np.mean(np.mean(a,axis=0),axis=0) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_low_level_library_19profile(PyObject *__pyx_self, PyObject *__pyx_v_a); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_low_level_library_19profile = {"profile", (PyCFunction)__pyx_pw_24claude_low_level_library_19profile, METH_O, 0}; -static PyObject *__pyx_pw_24claude_low_level_library_19profile(PyObject *__pyx_self, PyObject *__pyx_v_a) { - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("profile (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 87, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_low_level_library_18profile(__pyx_self, ((PyArrayObject *)__pyx_v_a)); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_low_level_library_18profile(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("profile", 0); - - /* "claude_low_level_library.pyx":88 - * - * def profile(np.ndarray a): - * return np.mean(np.mean(a,axis=0),axis=0) # <<<<<<<<<<<<<< - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_mean); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_mean); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_a)); - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 88, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_axis, __pyx_int_0) < 0) __PYX_ERR(0, 88, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "claude_low_level_library.pyx":87 - * return value - * - * def profile(np.ndarray a): # <<<<<<<<<<<<<< - * return np.mean(np.mean(a,axis=0),axis=0) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("claude_low_level_library.profile", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 - * # experimental exception made for __getbuffer__ and __releasebuffer__ - * # -- the details of this may change. - * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< - * # This implementation of getbuffer is geared towards Cython - * # requirements, and does not yet fulfill the PEP. - */ - -/* Python wrapper */ -static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/ -static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); - __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { - int __pyx_v_i; - int __pyx_v_ndim; - int __pyx_v_endian_detector; - int __pyx_v_little_endian; - int __pyx_v_t; - char *__pyx_v_f; - PyArray_Descr *__pyx_v_descr = 0; - int __pyx_v_offset; - int __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyArray_Descr *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - char *__pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - if (__pyx_v_info == NULL) { - PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); - return -1; - } - __Pyx_RefNannySetupContext("__getbuffer__", 0); - __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(__pyx_v_info->obj); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":265 - * - * cdef int i, ndim - * cdef int endian_detector = 1 # <<<<<<<<<<<<<< - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * - */ - __pyx_v_endian_detector = 1; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":266 - * cdef int i, ndim - * cdef int endian_detector = 1 - * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< - * - * ndim = PyArray_NDIM(self) - */ - __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":268 - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * - * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - */ - __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L4_bool_binop_done; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":271 - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError(u"ndarray is not C contiguous") - * - */ - __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L4_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 272, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L7_bool_binop_done; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":275 - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError(u"ndarray is not Fortran contiguous") - * - */ - __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L7_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< - * - * info.buf = PyArray_DATA(self) - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 276, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":278 - * raise ValueError(u"ndarray is not Fortran contiguous") - * - * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":279 - * - * info.buf = PyArray_DATA(self) - * info.ndim = ndim # <<<<<<<<<<<<<< - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * # Allocate new buffer for strides and shape info. - */ - __pyx_v_info->ndim = __pyx_v_ndim; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 - * info.buf = PyArray_DATA(self) - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - */ - __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":283 - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< - * info.shape = info.strides + ndim - * for i in range(ndim): - */ - __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":284 - * # This is allocated as one block, strides first. - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) - * info.shape = info.strides + ndim # <<<<<<<<<<<<<< - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] - */ - __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":285 - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) - * info.shape = info.strides + ndim - * for i in range(ndim): # <<<<<<<<<<<<<< - * info.strides[i] = PyArray_STRIDES(self)[i] - * info.shape[i] = PyArray_DIMS(self)[i] - */ - __pyx_t_4 = __pyx_v_ndim; - __pyx_t_5 = __pyx_t_4; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i = __pyx_t_6; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":286 - * info.shape = info.strides + ndim - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< - * info.shape[i] = PyArray_DIMS(self)[i] - * else: - */ - (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":287 - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] - * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< - * else: - * info.strides = PyArray_STRIDES(self) - */ - (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]); - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 - * info.buf = PyArray_DATA(self) - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - */ - goto __pyx_L9; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":289 - * info.shape[i] = PyArray_DIMS(self)[i] - * else: - * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL - */ - /*else*/ { - __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 - * else: - * info.strides = PyArray_STRIDES(self) - * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) - */ - __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self)); - } - __pyx_L9:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 - * info.strides = PyArray_STRIDES(self) - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL # <<<<<<<<<<<<<< - * info.itemsize = PyArray_ITEMSIZE(self) - * info.readonly = not PyArray_ISWRITEABLE(self) - */ - __pyx_v_info->suboffsets = NULL; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":292 - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< - * info.readonly = not PyArray_ISWRITEABLE(self) - * - */ - __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) - * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< - * - * cdef int t - */ - __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":296 - * - * cdef int t - * cdef char* f = NULL # <<<<<<<<<<<<<< - * cdef dtype descr = PyArray_DESCR(self) - * cdef int offset - */ - __pyx_v_f = NULL; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":297 - * cdef int t - * cdef char* f = NULL - * cdef dtype descr = PyArray_DESCR(self) # <<<<<<<<<<<<<< - * cdef int offset - * - */ - __pyx_t_7 = PyArray_DESCR(__pyx_v_self); - __pyx_t_3 = ((PyObject *)__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":300 - * cdef int offset - * - * info.obj = self # <<<<<<<<<<<<<< - * - * if not PyDataType_HASFIELDS(descr): - */ - __Pyx_INCREF(((PyObject *)__pyx_v_self)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); - __pyx_v_info->obj = ((PyObject *)__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 - * info.obj = self - * - * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - */ - __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":303 - * - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num # <<<<<<<<<<<<<< - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - */ - __pyx_t_4 = __pyx_v_descr->type_num; - __pyx_v_t = __pyx_t_4; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0); - if (!__pyx_t_2) { - goto __pyx_L15_next_or; - } else { - } - __pyx_t_2 = (__pyx_v_little_endian != 0); - if (!__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L14_bool_binop_done; - } - __pyx_L15_next_or:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":305 - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" - */ - __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L14_bool_binop_done; - } - __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L14_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 306, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":307 - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" - */ - switch (__pyx_v_t) { - case NPY_BYTE: - __pyx_v_f = ((char *)"b"); - break; - case NPY_UBYTE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":308 - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" - */ - __pyx_v_f = ((char *)"B"); - break; - case NPY_SHORT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":309 - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" - */ - __pyx_v_f = ((char *)"h"); - break; - case NPY_USHORT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":310 - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" - */ - __pyx_v_f = ((char *)"H"); - break; - case NPY_INT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":311 - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" - */ - __pyx_v_f = ((char *)"i"); - break; - case NPY_UINT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":312 - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" - */ - __pyx_v_f = ((char *)"I"); - break; - case NPY_LONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":313 - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" - */ - __pyx_v_f = ((char *)"l"); - break; - case NPY_ULONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":314 - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" - */ - __pyx_v_f = ((char *)"L"); - break; - case NPY_LONGLONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":315 - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" - */ - __pyx_v_f = ((char *)"q"); - break; - case NPY_ULONGLONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":316 - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" - */ - __pyx_v_f = ((char *)"Q"); - break; - case NPY_FLOAT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":317 - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" - */ - __pyx_v_f = ((char *)"f"); - break; - case NPY_DOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":318 - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" - */ - __pyx_v_f = ((char *)"d"); - break; - case NPY_LONGDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":319 - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" - */ - __pyx_v_f = ((char *)"g"); - break; - case NPY_CFLOAT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":320 - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" - */ - __pyx_v_f = ((char *)"Zf"); - break; - case NPY_CDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":321 - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< - * elif t == NPY_CLONGDOUBLE: f = "Zg" - * elif t == NPY_OBJECT: f = "O" - */ - __pyx_v_f = ((char *)"Zd"); - break; - case NPY_CLONGDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":322 - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< - * elif t == NPY_OBJECT: f = "O" - * else: - */ - __pyx_v_f = ((char *)"Zg"); - break; - case NPY_OBJECT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":323 - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" - * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - */ - __pyx_v_f = ((char *)"O"); - break; - default: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":325 - * elif t == NPY_OBJECT: f = "O" - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< - * info.format = f - * return - */ - __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 325, __pyx_L1_error) - break; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":326 - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * info.format = f # <<<<<<<<<<<<<< - * return - * else: - */ - __pyx_v_info->format = __pyx_v_f; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":327 - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * info.format = f - * return # <<<<<<<<<<<<<< - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) - */ - __pyx_r = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 - * info.obj = self - * - * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":329 - * return - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 - */ - /*else*/ { - __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":330 - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) - * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< - * offset = 0 - * f = _util_dtypestring(descr, info.format + 1, - */ - (__pyx_v_info->format[0]) = '^'; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":331 - * info.format = PyObject_Malloc(_buffer_format_string_len) - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 # <<<<<<<<<<<<<< - * f = _util_dtypestring(descr, info.format + 1, - * info.format + _buffer_format_string_len, - */ - __pyx_v_offset = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":332 - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 - * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< - * info.format + _buffer_format_string_len, - * &offset) - */ - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error) - __pyx_v_f = __pyx_t_9; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":335 - * info.format + _buffer_format_string_len, - * &offset) - * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - */ - (__pyx_v_f[0]) = '\x00'; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 - * # experimental exception made for __getbuffer__ and __releasebuffer__ - * # -- the details of this may change. - * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< - * # This implementation of getbuffer is geared towards Cython - * # requirements, and does not yet fulfill the PEP. - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - if (__pyx_v_info->obj != NULL) { - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; - } - goto __pyx_L2; - __pyx_L0:; - if (__pyx_v_info->obj == Py_None) { - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; - } - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_descr); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 - * f[0] = c'\0' # Terminate format string - * - * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - */ - -/* Python wrapper */ -static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ -static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); - __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) { - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("__releasebuffer__", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":339 - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) # <<<<<<<<<<<<<< - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * PyObject_Free(info.strides) - */ - PyObject_Free(__pyx_v_info->format); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * PyObject_Free(info.strides) - * # info.shape was stored after info.strides in the same block - */ - __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":341 - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * PyObject_Free(info.strides) # <<<<<<<<<<<<<< - * # info.shape was stored after info.strides in the same block - * - */ - PyObject_Free(__pyx_v_info->strides); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * PyObject_Free(info.strides) - * # info.shape was stored after info.strides in the same block - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 - * f[0] = c'\0' # Terminate format string - * - * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - */ - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":821 - * - * cdef inline object PyArray_MultiIterNew1(a): - * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew2(a, b): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":824 - * - * cdef inline object PyArray_MultiIterNew2(a, b): - * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":827 - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":830 - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":833 - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":837 - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape # <<<<<<<<<<<<<< - * else: - * return () - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); - __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":839 - * return d.subarray.shape - * else: - * return () # <<<<<<<<<<<<<< - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_empty_tuple); - __pyx_r = __pyx_empty_tuple; - goto __pyx_L0; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 - * return () - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< - * # Recursive utility function used in __getbuffer__ to get format - * # string. The new location in the format string is returned. - */ - -static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { - PyArray_Descr *__pyx_v_child = 0; - int __pyx_v_endian_detector; - int __pyx_v_little_endian; - PyObject *__pyx_v_fields = 0; - PyObject *__pyx_v_childname = NULL; - PyObject *__pyx_v_new_offset = NULL; - PyObject *__pyx_v_t = NULL; - char *__pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - long __pyx_t_8; - char *__pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_util_dtypestring", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":846 - * - * cdef dtype child - * cdef int endian_detector = 1 # <<<<<<<<<<<<<< - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * cdef tuple fields - */ - __pyx_v_endian_detector = 1; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":847 - * cdef dtype child - * cdef int endian_detector = 1 - * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< - * cdef tuple fields - * - */ - __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 - * cdef tuple fields - * - * for childname in descr.names: # <<<<<<<<<<<<<< - * fields = descr.fields[childname] - * child, new_offset = fields - */ - if (unlikely(__pyx_v_descr->names == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(1, 850, __pyx_L1_error) - } - __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; - for (;;) { - if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":851 - * - * for childname in descr.names: - * fields = descr.fields[childname] # <<<<<<<<<<<<<< - * child, new_offset = fields - * - */ - if (unlikely(__pyx_v_descr->fields == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 851, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":852 - * for childname in descr.names: - * fields = descr.fields[childname] - * child, new_offset = fields # <<<<<<<<<<<<<< - * - * if (end - f) - (new_offset - offset[0]) < 15: - */ - if (likely(__pyx_v_fields != Py_None)) { - PyObject* sequence = __pyx_v_fields; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(1, 852, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error) - } - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3)); - __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); - __pyx_t_4 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 - * child, new_offset = fields - * - * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - */ - __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 - * - * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< - * - * if ((child.byteorder == c'>' and little_endian) or - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 855, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 - * child, new_offset = fields - * - * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0); - if (!__pyx_t_7) { - goto __pyx_L8_next_or; - } else { - } - __pyx_t_7 = (__pyx_v_little_endian != 0); - if (!__pyx_t_7) { - } else { - __pyx_t_6 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_L8_next_or:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":858 - * - * if ((child.byteorder == c'>' and little_endian) or - * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError(u"Non-native byte order not supported") - * # One could encode it in the format string and have Cython - */ - __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0); - if (__pyx_t_7) { - } else { - __pyx_t_6 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0); - __pyx_t_6 = __pyx_t_7; - __pyx_L7_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":859 - * if ((child.byteorder == c'>' and little_endian) or - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * # One could encode it in the format string and have Cython - * # complain instead, BUT: < and > in format strings also imply - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 859, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":869 - * - * # Output padding bytes - * while offset[0] < new_offset: # <<<<<<<<<<<<<< - * f[0] = 120 # "x"; pad byte - * f += 1 - */ - while (1) { - __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_6) break; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":870 - * # Output padding bytes - * while offset[0] < new_offset: - * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< - * f += 1 - * offset[0] += 1 - */ - (__pyx_v_f[0]) = 0x78; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":871 - * while offset[0] < new_offset: - * f[0] = 120 # "x"; pad byte - * f += 1 # <<<<<<<<<<<<<< - * offset[0] += 1 - * - */ - __pyx_v_f = (__pyx_v_f + 1); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":872 - * f[0] = 120 # "x"; pad byte - * f += 1 - * offset[0] += 1 # <<<<<<<<<<<<<< - * - * offset[0] += child.itemsize - */ - __pyx_t_8 = 0; - (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":874 - * offset[0] += 1 - * - * offset[0] += child.itemsize # <<<<<<<<<<<<<< - * - * if not PyDataType_HASFIELDS(child): - */ - __pyx_t_8 = 0; - (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 - * offset[0] += child.itemsize - * - * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< - * t = child.type_num - * if end - f < 5: - */ - __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); - if (__pyx_t_6) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":877 - * - * if not PyDataType_HASFIELDS(child): - * t = child.type_num # <<<<<<<<<<<<<< - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") - */ - __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); - __pyx_t_4 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 - * if not PyDataType_HASFIELDS(child): - * t = child.type_num - * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short.") - * - */ - __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 - * t = child.type_num - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< - * - * # Until ticket #99 is fixed, use integers to avoid warnings - */ - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(1, 879, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 - * if not PyDataType_HASFIELDS(child): - * t = child.type_num - * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short.") - * - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":882 - * - * # Until ticket #99 is fixed, use integers to avoid warnings - * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 98; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":883 - * # Until ticket #99 is fixed, use integers to avoid warnings - * if t == NPY_BYTE: f[0] = 98 #"b" - * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 66; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":884 - * if t == NPY_BYTE: f[0] = 98 #"b" - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x68; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":885 - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 72; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":886 - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x69; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":887 - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 73; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":888 - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x6C; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":889 - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 76; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":890 - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x71; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":891 - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 81; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":892 - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x66; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":893 - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x64; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":894 - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x67; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":895 - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x66; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":896 - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - * elif t == NPY_OBJECT: f[0] = 79 #"O" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x64; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":897 - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< - * elif t == NPY_OBJECT: f[0] = 79 #"O" - * else: - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x67; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":898 - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (likely(__pyx_t_6)) { - (__pyx_v_f[0]) = 79; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":900 - * elif t == NPY_OBJECT: f[0] = 79 #"O" - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< - * f += 1 - * else: - */ - /*else*/ { - __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(1, 900, __pyx_L1_error) - } - __pyx_L15:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":901 - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * f += 1 # <<<<<<<<<<<<<< - * else: - * # Cython ignores struct boundary information ("T{...}"), - */ - __pyx_v_f = (__pyx_v_f + 1); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 - * offset[0] += child.itemsize - * - * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< - * t = child.type_num - * if end - f < 5: - */ - goto __pyx_L13; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":905 - * # Cython ignores struct boundary information ("T{...}"), - * # so don't output it - * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< - * return f - * - */ - /*else*/ { - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error) - __pyx_v_f = __pyx_t_9; - } - __pyx_L13:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 - * cdef tuple fields - * - * for childname in descr.names: # <<<<<<<<<<<<<< - * fields = descr.fields[childname] - * child, new_offset = fields - */ - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":906 - * # so don't output it - * f = _util_dtypestring(child, f, end, offset) - * return f # <<<<<<<<<<<<<< - * - * - */ - __pyx_r = __pyx_v_f; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 - * return () - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< - * # Recursive utility function used in __getbuffer__ to get format - * # string. The new location in the format string is returned. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_child); - __Pyx_XDECREF(__pyx_v_fields); - __Pyx_XDECREF(__pyx_v_childname); - __Pyx_XDECREF(__pyx_v_new_offset); - __Pyx_XDECREF(__pyx_v_t); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - -static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_array_base", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1022 - * - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< - * PyArray_SetBaseObject(arr, base) - * - */ - Py_INCREF(__pyx_v_base); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1023 - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< - * - * cdef inline object get_array_base(ndarray arr): - */ - (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { - PyObject *__pyx_v_base; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("get_array_base", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1026 - * - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< - * if base is NULL: - * return None - */ - __pyx_v_base = PyArray_BASE(__pyx_v_arr); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - __pyx_t_1 = ((__pyx_v_base == NULL) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1028 - * base = PyArray_BASE(arr) - * if base is NULL: - * return None # <<<<<<<<<<<<<< - * return base - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1029 - * if base is NULL: - * return None - * return base # <<<<<<<<<<<<<< - * - * # Versions of the import_* functions which are more suitable for - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_base)); - __pyx_r = ((PyObject *)__pyx_v_base); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * _import_array() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_array", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1035 - * cdef inline int import_array() except -1: - * try: - * _import_array() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") - */ - __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1036 - * try: - * _import_array() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.multiarray failed to import") - * - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 - * _import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1037, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * _import_array() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_umath", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1041 - * cdef inline int import_umath() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1042 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - * - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1043, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_ufunc", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1047 - * cdef inline int import_ufunc() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1048 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1049 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1049, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_claude_low_level_library(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_claude_low_level_library}, - {0, NULL} -}; -#endif - -static struct PyModuleDef __pyx_moduledef = { - PyModuleDef_HEAD_INIT, - "claude_low_level_library", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ -}; -#endif -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, - {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, - {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, - {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0}, - {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, - {&__pyx_n_s_axial_tilt, __pyx_k_axial_tilt, sizeof(__pyx_k_axial_tilt), 0, 0, 1, 1}, - {&__pyx_n_s_axis, __pyx_k_axis, sizeof(__pyx_k_axis), 0, 0, 1, 1}, - {&__pyx_n_s_claude_low_level_library, __pyx_k_claude_low_level_library, sizeof(__pyx_k_claude_low_level_library), 0, 0, 1, 1}, - {&__pyx_kp_s_claude_low_level_library_pyx, __pyx_k_claude_low_level_library_pyx, sizeof(__pyx_k_claude_low_level_library_pyx), 0, 0, 1, 0}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_cos, __pyx_k_cos, sizeof(__pyx_k_cos), 0, 0, 1, 1}, - {&__pyx_n_s_cos_lon, __pyx_k_cos_lon, sizeof(__pyx_k_cos_lon), 0, 0, 1, 1}, - {&__pyx_n_s_day, __pyx_k_day, sizeof(__pyx_k_day), 0, 0, 1, 1}, - {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1}, - {&__pyx_n_s_dy, __pyx_k_dy, sizeof(__pyx_k_dy), 0, 0, 1, 1}, - {&__pyx_n_s_dz, __pyx_k_dz, sizeof(__pyx_k_dz), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_insolation, __pyx_k_insolation, sizeof(__pyx_k_insolation), 0, 0, 1, 1}, - {&__pyx_n_s_inv_90, __pyx_k_inv_90, sizeof(__pyx_k_inv_90), 0, 0, 1, 1}, - {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, - {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1}, - {&__pyx_n_s_lat, __pyx_k_lat, sizeof(__pyx_k_lat), 0, 0, 1, 1}, - {&__pyx_n_s_lon, __pyx_k_lon, sizeof(__pyx_k_lon), 0, 0, 1, 1}, - {&__pyx_n_s_lon_diff, __pyx_k_lon_diff, sizeof(__pyx_k_lon_diff), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_mean, __pyx_k_mean, sizeof(__pyx_k_mean), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0}, - {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0}, - {&__pyx_n_s_nlat, __pyx_k_nlat, sizeof(__pyx_k_nlat), 0, 0, 1, 1}, - {&__pyx_n_s_nlevels, __pyx_k_nlevels, sizeof(__pyx_k_nlevels), 0, 0, 1, 1}, - {&__pyx_n_s_nlon, __pyx_k_nlon, sizeof(__pyx_k_nlon), 0, 0, 1, 1}, - {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, - {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, - {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, - {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, - {&__pyx_n_s_pi, __pyx_k_pi, sizeof(__pyx_k_pi), 0, 0, 1, 1}, - {&__pyx_n_s_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_x, __pyx_k_scalar_gradient_x, sizeof(__pyx_k_scalar_gradient_x), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_x_2D, __pyx_k_scalar_gradient_x_2D, sizeof(__pyx_k_scalar_gradient_x_2D), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_y, __pyx_k_scalar_gradient_y, sizeof(__pyx_k_scalar_gradient_y), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_y_2D, __pyx_k_scalar_gradient_y_2D, sizeof(__pyx_k_scalar_gradient_y_2D), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_z, __pyx_k_scalar_gradient_z, sizeof(__pyx_k_scalar_gradient_z), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_z_1D, __pyx_k_scalar_gradient_z_1D, sizeof(__pyx_k_scalar_gradient_z_1D), 0, 0, 1, 1}, - {&__pyx_n_s_sigma, __pyx_k_sigma, sizeof(__pyx_k_sigma), 0, 0, 1, 1}, - {&__pyx_n_s_solar, __pyx_k_solar, sizeof(__pyx_k_solar), 0, 0, 1, 1}, - {&__pyx_n_s_sun_latitude, __pyx_k_sun_latitude, sizeof(__pyx_k_sun_latitude), 0, 0, 1, 1}, - {&__pyx_n_s_sun_longitude, __pyx_k_sun_longitude, sizeof(__pyx_k_sun_longitude), 0, 0, 1, 1}, - {&__pyx_n_s_surface_optical_depth, __pyx_k_surface_optical_depth, sizeof(__pyx_k_surface_optical_depth), 0, 0, 1, 1}, - {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_thermal_radiation, __pyx_k_thermal_radiation, sizeof(__pyx_k_thermal_radiation), 0, 0, 1, 1}, - {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0}, - {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1}, - {&__pyx_n_s_year, __pyx_k_year, sizeof(__pyx_k_year), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} -}; -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error) - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 285, __pyx_L1_error) - __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error) - __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple_); - __Pyx_GIVEREF(__pyx_tuple_); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< - * - * info.buf = PyArray_DATA(self) - */ - __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__2); - __Pyx_GIVEREF(__pyx_tuple__2); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__3); - __Pyx_GIVEREF(__pyx_tuple__3); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 - * - * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< - * - * if ((child.byteorder == c'>' and little_endian) or - */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 - * t = child.type_num - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< - * - * # Until ticket #99 is fixed, use integers to avoid warnings - */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 - * _import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 1037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 1043, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); - - /* "claude_low_level_library.pyx":13 - * # define various useful differential functions: - * # gradient of scalar field a in the local x direction at point i,j - * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - */ - __pyx_tuple__8 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_nlon, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); - __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_x, 13, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 13, __pyx_L1_error) - - /* "claude_low_level_library.pyx":16 - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - * - */ - __pyx_tuple__10 = PyTuple_Pack(5, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_nlon, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__10); - __Pyx_GIVEREF(__pyx_tuple__10); - __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_x_2D, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 16, __pyx_L1_error) - - /* "claude_low_level_library.pyx":20 - * - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - */ - __pyx_tuple__12 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_dy, __pyx_n_s_nlat, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__12); - __Pyx_GIVEREF(__pyx_tuple__12); - __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_y, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 20, __pyx_L1_error) - - /* "claude_low_level_library.pyx":28 - * return (a[i+1,j,k]-a[i-1,j,k])/dy - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - */ - __pyx_tuple__14 = PyTuple_Pack(5, __pyx_n_s_a, __pyx_n_s_dy, __pyx_n_s_nlat, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__14); - __Pyx_GIVEREF(__pyx_tuple__14); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_y_2D, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 28, __pyx_L1_error) - - /* "claude_low_level_library.pyx":36 - * return (a[i+1,j]-a[i-1,j])/dy - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - __pyx_tuple__16 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_dz, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_nlevels); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__16); - __Pyx_GIVEREF(__pyx_tuple__16); - __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(5, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_z, 36, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 36, __pyx_L1_error) - - /* "claude_low_level_library.pyx":45 - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - __pyx_tuple__18 = PyTuple_Pack(4, __pyx_n_s_a, __pyx_n_s_dz, __pyx_n_s_k, __pyx_n_s_nlevels); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_scalar_gradient_z_1D, 45, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 45, __pyx_L1_error) - - /* "claude_low_level_library.pyx":54 - * return (a[k+1]-a[k-1])/(2*dz[k]) - * - * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< - * cdef DTYPE_f inv_90 - * return 4 + np.cos(lat*inv_90)*2 - */ - __pyx_tuple__20 = PyTuple_Pack(3, __pyx_n_s_lat, __pyx_n_s_lat, __pyx_n_s_inv_90); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__20); - __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_surface_optical_depth, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 54, __pyx_L1_error) - - /* "claude_low_level_library.pyx":58 - * return 4 + np.cos(lat*inv_90)*2 - * - * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< - * cdef DTYPE_f sigma = 5.67E-8 - * return sigma*(a**4) - */ - __pyx_tuple__22 = PyTuple_Pack(3, __pyx_n_s_a, __pyx_n_s_a, __pyx_n_s_sigma); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__22); - __Pyx_GIVEREF(__pyx_tuple__22); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_thermal_radiation, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 58, __pyx_L1_error) - - /* "claude_low_level_library.pyx":63 - * - * # power incident on (lat,lon) at time t - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - */ - __pyx_tuple__24 = PyTuple_Pack(12, __pyx_n_s_insolation, __pyx_n_s_lat, __pyx_n_s_lon, __pyx_n_s_t, __pyx_n_s_day, __pyx_n_s_year, __pyx_n_s_axial_tilt, __pyx_n_s_sun_longitude, __pyx_n_s_sun_latitude, __pyx_n_s_value, __pyx_n_s_lon_diff, __pyx_n_s_cos_lon); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__24); - __Pyx_GIVEREF(__pyx_tuple__24); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(7, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_solar, 63, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 63, __pyx_L1_error) - - /* "claude_low_level_library.pyx":87 - * return value - * - * def profile(np.ndarray a): # <<<<<<<<<<<<<< - * return np.mean(np.mean(a,axis=0),axis=0) - */ - __pyx_tuple__26 = PyTuple_Pack(1, __pyx_n_s_a); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__26); - __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_low_level_library_pyx, __pyx_n_s_profile, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_90 = PyInt_FromLong(90); if (unlikely(!__pyx_int_90)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_180 = PyInt_FromLong(180); if (unlikely(!__pyx_int_180)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), - #else - sizeof(PyHeapTypeObject), - #endif - __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error) - __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error) - __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error) - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error) - __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initclaude_low_level_library(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initclaude_low_level_library(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_claude_low_level_library(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - float __pyx_t_3; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'claude_low_level_library' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_claude_low_level_library(void)", 0); - if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - #ifdef WITH_THREAD /* Python build with threading support? */ - PyEval_InitThreads(); - #endif - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("claude_low_level_library", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_b); - __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_cython_runtime); - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_claude_low_level_library) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "claude_low_level_library")) { - if (unlikely(PyDict_SetItemString(modules, "claude_low_level_library", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - (void)__Pyx_modinit_type_init_code(); - if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - /* "claude_low_level_library.pyx":3 - * # claude low level library - * - * import numpy as np # <<<<<<<<<<<<<< - * cimport numpy as np - * cimport cython - */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":8 - * - * ctypedef np.float64_t DTYPE_f - * cdef float inv_180 = np.pi/180 # <<<<<<<<<<<<<< - * cdef float inv_90 = np.pi/90 - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_int_180); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_24claude_low_level_library_inv_180 = __pyx_t_3; - - /* "claude_low_level_library.pyx":9 - * ctypedef np.float64_t DTYPE_f - * cdef float inv_180 = np.pi/180 - * cdef float inv_90 = np.pi/90 # <<<<<<<<<<<<<< - * - * # define various useful differential functions: - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_int_90); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_24claude_low_level_library_inv_90 = __pyx_t_3; - - /* "claude_low_level_library.pyx":13 - * # define various useful differential functions: - * # gradient of scalar field a in the local x direction at point i,j - * def scalar_gradient_x(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_1scalar_gradient_x, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_x, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":16 - * return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - * - * def scalar_gradient_x_2D(np.ndarray a,np.ndarray dx,np.int_t nlon,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - * - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_3scalar_gradient_x_2D, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_x_2D, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":20 - * - * # gradient of scalar field a in the local y direction at point i,j - * def scalar_gradient_y(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j,k]-a[i,j,k])/dy - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_5scalar_gradient_y, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_y, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":28 - * return (a[i+1,j,k]-a[i-1,j,k])/dy - * - * def scalar_gradient_y_2D(np.ndarray a,DTYPE_f dy,np.int_t nlat,np.int_t i,np.int_t j): # <<<<<<<<<<<<<< - * if i == 0: - * return 2*(a[i+1,j]-a[i,j])/dy - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_7scalar_gradient_y_2D, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_y_2D, __pyx_t_1) < 0) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":36 - * return (a[i+1,j]-a[i-1,j])/dy - * - * def scalar_gradient_z(np.ndarray a,np.ndarray dz,np.int_t i,np.int_t j,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_9scalar_gradient_z, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_z, __pyx_t_1) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":45 - * return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - * - * def scalar_gradient_z_1D(np.ndarray a,np.ndarray dz,np.int_t k): # <<<<<<<<<<<<<< - * cdef np.int_t nlevels = len(dz) - * if k == 0: - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_11scalar_gradient_z_1D, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_scalar_gradient_z_1D, __pyx_t_1) < 0) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":54 - * return (a[k+1]-a[k-1])/(2*dz[k]) - * - * def surface_optical_depth(DTYPE_f lat): # <<<<<<<<<<<<<< - * cdef DTYPE_f inv_90 - * return 4 + np.cos(lat*inv_90)*2 - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_13surface_optical_depth, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_surface_optical_depth, __pyx_t_1) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":58 - * return 4 + np.cos(lat*inv_90)*2 - * - * def thermal_radiation(DTYPE_f a): # <<<<<<<<<<<<<< - * cdef DTYPE_f sigma = 5.67E-8 - * return sigma*(a**4) - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_15thermal_radiation, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_thermal_radiation, __pyx_t_1) < 0) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":63 - * - * # power incident on (lat,lon) at time t - * def solar(DTYPE_f insolation,DTYPE_f lat,DTYPE_f lon,np.int_t t,DTYPE_f day,DTYPE_f year,DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * cdef float sun_longitude = -t % day - * cdef float sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_17solar, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_solar, __pyx_t_1) < 0) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":87 - * return value - * - * def profile(np.ndarray a): # <<<<<<<<<<<<<< - * return np.mean(np.mean(a,axis=0),axis=0) - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_low_level_library_19profile, NULL, __pyx_n_s_claude_low_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_profile, __pyx_t_1) < 0) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_low_level_library.pyx":1 - * # claude low level library # <<<<<<<<<<<<<< - * - * import numpy as np - */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - if (__pyx_m) { - if (__pyx_d) { - __Pyx_AddTraceback("init claude_low_level_library", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - Py_CLEAR(__pyx_m); - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init claude_low_level_library"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* RaiseDoubleKeywords */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION >= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; - continue; - } - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = (**name == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - return -1; -} - -/* ArgTypeTest */ -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) -{ - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - else if (exact) { - #if PY_MAJOR_VERSION == 2 - if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; - #endif - } - else { - if (likely(__Pyx_TypeCheck(obj, type))) return 1; - } - PyErr_Format(PyExc_TypeError, - "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", - name, type->tp_name, Py_TYPE(obj)->tp_name); - return 0; -} - -/* None */ -static CYTHON_INLINE __pyx_t_5numpy_int_t __Pyx_mod___pyx_t_5numpy_int_t(__pyx_t_5numpy_int_t a, __pyx_t_5numpy_int_t b) { - __pyx_t_5numpy_int_t r = a % b; - r += ((r != 0) & ((r ^ b) < 0)) * b; - return r; -} - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ -#if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { - PyObject *runerr; - Py_ssize_t key_value; - PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; - if (unlikely(!(m && m->sq_item))) { - PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); - return NULL; - } - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { - PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; - if (likely(m && m->mp_subscript)) { - return m->mp_subscript(obj, key); - } - return __Pyx_PyObject_GetIndex(obj, key); -} -#endif - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op2))) { - const long a = intval; - long x; - long b = PyInt_AS_LONG(op2); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op2))) { - const long a = intval; - long b, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG lla = intval; - PY_LONG_LONG llb, llx; -#endif - const digit* digits = ((PyLongObject*)op2)->ob_digit; - const Py_ssize_t size = Py_SIZE(op2); - if (likely(__Pyx_sst_abs(size) <= 1)) { - b = likely(size) ? digits[0] : 0; - if (size == -1) b = -b; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op2)) { - const long a = intval; - double b = PyFloat_AS_DOUBLE(op2); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); - if (unlikely(!result)) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyCFunctionFastCall */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { - PyCFunctionObject *func = (PyCFunctionObject*)func_obj; - PyCFunction meth = PyCFunction_GET_FUNCTION(func); - PyObject *self = PyCFunction_GET_SELF(func); - int flags = PyCFunction_GET_FLAGS(func); - assert(PyCFunction_Check(func)); - assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); - assert(nargs >= 0); - assert(nargs == 0 || args != NULL); - /* _PyCFunction_FastCallDict() must not be called with an exception set, - because it may clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!PyErr_Occurred()); - if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { - return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); - } else { - return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); - } -} -#endif - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { - return NULL; - } - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = func->ob_type->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args, *result = NULL; - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyFunction_FastCall(function, args, 2); - } - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyCFunction_FastCall(function, args, 2); - } - #endif - args = PyTuple_New(2); - if (unlikely(!args)) goto done; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - Py_INCREF(function); - result = __Pyx_PyObject_Call(function, args, NULL); - Py_DECREF(args); - Py_DECREF(function); -done: - return result; -} - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = PyCFunction_GET_FUNCTION(func); - self = PyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallOneArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_New(1); - if (unlikely(!args)) return NULL; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, &arg, 1); - } -#endif - if (likely(PyCFunction_Check(func))) { - if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { - return __Pyx_PyObject_CallMethO(func, arg); -#if CYTHON_FAST_PYCCALL - } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { - return __Pyx_PyCFunction_FastCall(func, &arg, 1); -#endif - } - } - return __Pyx__PyObject_CallOneArg(func, arg); -} -#else -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_Pack(1, arg); - if (unlikely(!args)) return NULL; - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -#endif - -/* None */ -static CYTHON_INLINE __pyx_t_24claude_low_level_library_DTYPE_f __Pyx_mod___pyx_t_24claude_low_level_library_DTYPE_f(__pyx_t_24claude_low_level_library_DTYPE_f a, __pyx_t_24claude_low_level_library_DTYPE_f b) { - __pyx_t_24claude_low_level_library_DTYPE_f r = fmod(a, b); - r += ((r != 0) & ((r < 0) ^ (b < 0))) * b; - return r; -} - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - __Pyx_PyThreadState_declare - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* DictGetItem */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* RaiseTooManyValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* RaiseNeedMoreValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* RaiseNoneIterError */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -} - -/* ExtTypeTest */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - if (likely(__Pyx_TypeCheck(obj, type))) - return 1; - PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", - Py_TYPE(obj)->tp_name, type->tp_name); - return 0; -} - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icurexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; - if (unlikely(PyTuple_Check(err))) - return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* TypeImport */ -#ifndef __PYX_HAVE_RT_ImportType -#define __PYX_HAVE_RT_ImportType -static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, - size_t size, enum __Pyx_ImportType_CheckSize check_size) -{ - PyObject *result = 0; - char warning[200]; - Py_ssize_t basicsize; -#ifdef Py_LIMITED_API - PyObject *py_basicsize; -#endif - result = PyObject_GetAttrString(module, class_name); - if (!result) - goto bad; - if (!PyType_Check(result)) { - PyErr_Format(PyExc_TypeError, - "%.200s.%.200s is not a type object", - module_name, class_name); - goto bad; - } -#ifndef Py_LIMITED_API - basicsize = ((PyTypeObject *)result)->tp_basicsize; -#else - py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); - if (!py_basicsize) - goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; -#endif - if ((size_t)basicsize < size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - } - return (PyTypeObject *)result; -bad: - Py_XDECREF(result); - return NULL; -} -#endif - -/* Import */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *empty_list = 0; - PyObject *module = 0; - PyObject *global_dict = 0; - PyObject *empty_dict = 0; - PyObject *list; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (!py_import) - goto bad; - #endif - if (from_list) - list = from_list; - else { - empty_list = PyList_New(0); - if (!empty_list) - goto bad; - list = empty_list; - } - global_dict = PyModule_GetDict(__pyx_m); - if (!global_dict) - goto bad; - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, 1); - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_ImportError)) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (!py_level) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, level); - #endif - } - } -bad: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - Py_XDECREF(empty_list); - Py_XDECREF(empty_dict); - return module; -} - -/* CLineInTraceback */ -#ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} - -/* AddTraceback */ -#include "compile.h" -#include "frameobject.h" -#include "traceback.h" -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; - #if PY_MAJOR_VERSION < 3 - py_srcfile = PyString_FromString(filename); - #else - py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - #else - py_funcname = PyUnicode_FromString(funcname); - #endif - } - if (!py_funcname) goto bad; - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - Py_DECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_srcfile); - Py_XDECREF(py_funcname); - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) goto bad; - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} - -/* CIntFromPyVerify */ -#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value) { - const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(npy_long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(npy_long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(npy_long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(npy_long), - little, !is_unsigned); - } -} - -/* Declarations */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return ::std::complex< float >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ -#if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabsf(b.real) >= fabsf(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - float r = b.imag / b.real; - float s = (float)(1.0) / (b.real + b.imag * r); - return __pyx_t_float_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - float r = b.real / b.imag; - float s = (float)(1.0) / (b.imag + b.real * r); - return __pyx_t_float_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - float denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_float_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrtf(z.real*z.real + z.imag*z.imag); - #else - return hypotf(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - float denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_float(a, a); - case 3: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, a); - case 4: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if (b.imag == 0) { - z.real = powf(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2f(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_float(a); - theta = atan2f(a.imag, a.real); - } - lnr = logf(r); - z_r = expf(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cosf(z_theta); - z.imag = z_r * sinf(z_theta); - return z; - } - #endif -#endif - -/* Declarations */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return ::std::complex< double >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ -#if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabs(b.real) >= fabs(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - double r = b.imag / b.real; - double s = (double)(1.0) / (b.real + b.imag * r); - return __pyx_t_double_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - double r = b.real / b.imag; - double s = (double)(1.0) / (b.imag + b.real * r); - return __pyx_t_double_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - double denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_double_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrt(z.real*z.real + z.imag*z.imag); - #else - return hypot(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - double denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_double(a, a); - case 3: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, a); - case 4: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if (b.imag == 0) { - z.real = pow(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_double(a); - theta = atan2(a.imag, a.real); - } - lnr = log(r); - z_r = exp(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cos(z_theta); - z.imag = z_r * sin(z_theta); - return z; - } - #endif -#endif - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) { - const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(enum NPY_TYPES) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(enum NPY_TYPES) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *x) { - const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(npy_long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(npy_long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (npy_long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (npy_long) 0; - case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, digits[0]) - case 2: - if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 2 * PyLong_SHIFT) { - return (npy_long) (((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 3 * PyLong_SHIFT) { - return (npy_long) (((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 4 * PyLong_SHIFT) { - return (npy_long) (((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (npy_long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(npy_long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (npy_long) 0; - case -1: __PYX_VERIFY_RETURN_INT(npy_long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, +digits[0]) - case -2: - if (8 * sizeof(npy_long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - return (npy_long) ((((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - return (npy_long) ((((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 4 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 4 * PyLong_SHIFT) { - return (npy_long) ((((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(npy_long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - npy_long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (npy_long) -1; - } - } else { - npy_long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (npy_long) -1; - val = __Pyx_PyInt_As_npy_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to npy_long"); - return (npy_long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to npy_long"); - return (npy_long) -1; -} - -/* CIntFromPy */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) - case -2: - if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int) -1; - } - } else { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) - case -2: - if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (long) -1; - } - } else { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* FastTypeChecks */ -#if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = a->tp_base; - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; - if (!res) { - res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } - return res; -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; ip) { - #if PY_MAJOR_VERSION < 3 - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - #else - if (t->is_unicode | t->is_str) { - if (t->intern) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->encoding) { - *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); - } else { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); - } - } else { - *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); - } - #endif - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - ++t; - } - return 0; -} - -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type %.200s). " - "The ability to return an instance of a strict subclass of int " - "is deprecated, and may be removed in a future version of Python.", - Py_TYPE(result)->tp_name)) { - Py_DECREF(result); - return NULL; - } - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type %.200s)", - type_name, type_name, Py_TYPE(result)->tp_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)b)->ob_digit; - const Py_ssize_t size = Py_SIZE(b); - if (likely(__Pyx_sst_abs(size) <= 1)) { - ival = likely(size) ? digits[0] : 0; - if (size == -1) ival = -ival; - return ival; - } else { - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -#endif /* Py_PYTHON_H */ diff --git a/claude_low_level_library.cp38-win_amd64.pyd b/claude_low_level_library.cp38-win_amd64.pyd deleted file mode 100644 index ff7b43044e88e359e64c5f21a447029d495cadcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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 diff --git a/claude_top_level_library.c b/claude_top_level_library.c deleted file mode 100644 index f02cb85..0000000 --- a/claude_top_level_library.c +++ /dev/null @@ -1,14544 +0,0 @@ -/* Generated by Cython 0.29.21 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "depends": [], - "name": "claude_top_level_library", - "sources": [ - "claude_top_level_library.pyx" - ] - }, - "module_name": "claude_top_level_library" -} -END: Cython Metadata */ - -#define PY_SSIZE_T_CLEAN -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.6+ or Python 3.3+. -#else -#define CYTHON_ABI "0_29_21" -#define CYTHON_HEX_VERSION 0x001D15F0 -#define CYTHON_FUTURE_DIVISION 0 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #if PY_VERSION_HEX >= 0x02070000 - #define HAVE_LONG_LONG - #endif -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#ifdef PYPY_VERSION - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#elif defined(PYSTON_VERSION) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) - #endif - #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) - #endif - #ifndef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #include "longintrepr.h" - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - #endif - #endif -#else - #include -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) && __cplusplus >= 201103L - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #elif __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__ ) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) - #define Py_OptimizeFlag 0 -#endif -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #define __Pyx_DefaultClassType PyClass_Type -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" -#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2 - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif - #define __Pyx_DefaultClassType PyType_Type -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #define __Pyx_PyCFunctionFast _PyCFunctionFast - #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords -#endif -#if CYTHON_FAST_PYCCALL -#define __Pyx_PyFastCFunction_Check(func)\ - ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) -#else -#define __Pyx_PyFastCFunction_Check(func) 0 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 - #define PyMem_RawMalloc(n) PyMem_Malloc(n) - #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) - #define PyMem_RawFree(p) PyMem_Free(p) -#endif -#if CYTHON_COMPILING_IN_PYSTON - #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -#else -#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) -#endif -#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) - #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) - #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) -#else - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t PyInt_AsLong -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) -#else - #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(WIN32) || defined(MS_WINDOWS) - #define _USE_MATH_DEFINES -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifndef __PYX_EXTERN_C - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__claude_top_level_library -#define __PYX_HAVE_API__claude_top_level_library -/* Early includes */ -#include -#include -#include "numpy/arrayobject.h" -#include "numpy/ufuncobject.h" -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { - const Py_UNICODE *u_end = u; - while (*u_end++) ; - return (size_t)(u_end - u - 1); -} -#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) -#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -static PyObject *__pyx_m = NULL; -static PyObject *__pyx_d; -static PyObject *__pyx_b; -static PyObject *__pyx_cython_runtime = NULL; -static PyObject *__pyx_empty_tuple; -static PyObject *__pyx_empty_bytes; -static PyObject *__pyx_empty_unicode; -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; - -/* Header.proto */ -#if !defined(CYTHON_CCOMPLEX) - #if defined(__cplusplus) - #define CYTHON_CCOMPLEX 1 - #elif defined(_Complex_I) - #define CYTHON_CCOMPLEX 1 - #else - #define CYTHON_CCOMPLEX 0 - #endif -#endif -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #include - #else - #include - #endif -#endif -#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) - #undef _Complex_I - #define _Complex_I 1.0fj -#endif - - -static const char *__pyx_f[] = { - "claude_top_level_library.pyx", - "__init__.pxd", - "type.pxd", -}; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":775 - * # in Cython to enable them only on the right systems. - * - * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - */ -typedef npy_int8 __pyx_t_5numpy_int8_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":776 - * - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t - */ -typedef npy_int16 __pyx_t_5numpy_int16_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":777 - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< - * ctypedef npy_int64 int64_t - * #ctypedef npy_int96 int96_t - */ -typedef npy_int32 __pyx_t_5numpy_int32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":778 - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< - * #ctypedef npy_int96 int96_t - * #ctypedef npy_int128 int128_t - */ -typedef npy_int64 __pyx_t_5numpy_int64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":782 - * #ctypedef npy_int128 int128_t - * - * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - */ -typedef npy_uint8 __pyx_t_5numpy_uint8_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":783 - * - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t - */ -typedef npy_uint16 __pyx_t_5numpy_uint16_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":784 - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< - * ctypedef npy_uint64 uint64_t - * #ctypedef npy_uint96 uint96_t - */ -typedef npy_uint32 __pyx_t_5numpy_uint32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":785 - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< - * #ctypedef npy_uint96 uint96_t - * #ctypedef npy_uint128 uint128_t - */ -typedef npy_uint64 __pyx_t_5numpy_uint64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":789 - * #ctypedef npy_uint128 uint128_t - * - * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< - * ctypedef npy_float64 float64_t - * #ctypedef npy_float80 float80_t - */ -typedef npy_float32 __pyx_t_5numpy_float32_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":790 - * - * ctypedef npy_float32 float32_t - * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< - * #ctypedef npy_float80 float80_t - * #ctypedef npy_float128 float128_t - */ -typedef npy_float64 __pyx_t_5numpy_float64_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":799 - * # The int types are mapped a bit surprising -- - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t - */ -typedef npy_long __pyx_t_5numpy_int_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":800 - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong longlong_t - * - */ -typedef npy_longlong __pyx_t_5numpy_long_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":801 - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_ulong uint_t - */ -typedef npy_longlong __pyx_t_5numpy_longlong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":803 - * ctypedef npy_longlong longlong_t - * - * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t - */ -typedef npy_ulong __pyx_t_5numpy_uint_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":804 - * - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulonglong_t - * - */ -typedef npy_ulonglong __pyx_t_5numpy_ulong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":805 - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_intp intp_t - */ -typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":807 - * ctypedef npy_ulonglong ulonglong_t - * - * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< - * ctypedef npy_uintp uintp_t - * - */ -typedef npy_intp __pyx_t_5numpy_intp_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":808 - * - * ctypedef npy_intp intp_t - * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< - * - * ctypedef npy_double float_t - */ -typedef npy_uintp __pyx_t_5numpy_uintp_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":810 - * ctypedef npy_uintp uintp_t - * - * ctypedef npy_double float_t # <<<<<<<<<<<<<< - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t - */ -typedef npy_double __pyx_t_5numpy_float_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":811 - * - * ctypedef npy_double float_t - * ctypedef npy_double double_t # <<<<<<<<<<<<<< - * ctypedef npy_longdouble longdouble_t - * - */ -typedef npy_double __pyx_t_5numpy_double_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":812 - * ctypedef npy_double float_t - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cfloat cfloat_t - */ -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; - -/* "claude_top_level_library.pyx":8 - * cimport cython - * - * ctypedef np.float64_t DTYPE_f # <<<<<<<<<<<<<< - * - * # laplacian of scalar field a - */ -typedef __pyx_t_5numpy_float64_t __pyx_t_24claude_top_level_library_DTYPE_f; -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< float > __pyx_t_float_complex; - #else - typedef float _Complex __pyx_t_float_complex; - #endif -#else - typedef struct { float real, imag; } __pyx_t_float_complex; -#endif -static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); - -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< double > __pyx_t_double_complex; - #else - typedef double _Complex __pyx_t_double_complex; - #endif -#else - typedef struct { double real, imag; } __pyx_t_double_complex; -#endif -static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); - - -/*--- Type declarations ---*/ - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":814 - * ctypedef npy_longdouble longdouble_t - * - * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t - */ -typedef npy_cfloat __pyx_t_5numpy_cfloat_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":815 - * - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< - * ctypedef npy_clongdouble clongdouble_t - * - */ -typedef npy_cdouble __pyx_t_5numpy_cdouble_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":816 - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cdouble complex_t - */ -typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":818 - * ctypedef npy_clongdouble clongdouble_t - * - * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew1(a): - */ -typedef npy_cdouble __pyx_t_5numpy_complex_t; - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*SetupContext)(const char*, int, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -#endif - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ - const char* function_name); - -/* ArgTypeTest.proto */ -#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ - ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ - __Pyx__ArgTypeTest(obj, type, name, exact)) -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} -#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyCFunctionFastCall.proto */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); -#else -#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#else -#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* ExtTypeTest.proto */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* SetItemInt.proto */ -#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ - __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, - int is_list, int wraparound, int boundscheck); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* PyFloatBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyFloat_DivideObjC(op1, op2, floatval, inplace, zerodivision_check)\ - ((inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2))) - #endif - -/* PyFloatBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_SubtractObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyFloat_SubtractObjC(op1, op2, floatval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_SubtractCObj(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) -#endif - -/* PyObjectCallNoArg.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); -#else -#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* RaiseNoneIterError.proto */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* TypeImport.proto */ -#ifndef __PYX_HAVE_RT_ImportType_proto -#define __PYX_HAVE_RT_ImportType_proto -enum __Pyx_ImportType_CheckSize { - __Pyx_ImportType_CheckSize_Error = 0, - __Pyx_ImportType_CheckSize_Warn = 1, - __Pyx_ImportType_CheckSize_Ignore = 2 -}; -static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value); - -/* RealImag.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #define __Pyx_CREAL(z) ((z).real()) - #define __Pyx_CIMAG(z) ((z).imag()) - #else - #define __Pyx_CREAL(z) (__real__(z)) - #define __Pyx_CIMAG(z) (__imag__(z)) - #endif -#else - #define __Pyx_CREAL(z) ((z).real) - #define __Pyx_CIMAG(z) ((z).imag) -#endif -#if defined(__cplusplus) && CYTHON_CCOMPLEX\ - && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) - #define __Pyx_SET_CREAL(z,x) ((z).real(x)) - #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) -#else - #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) - #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_float(a, b) ((a)==(b)) - #define __Pyx_c_sum_float(a, b) ((a)+(b)) - #define __Pyx_c_diff_float(a, b) ((a)-(b)) - #define __Pyx_c_prod_float(a, b) ((a)*(b)) - #define __Pyx_c_quot_float(a, b) ((a)/(b)) - #define __Pyx_c_neg_float(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_float(z) ((z)==(float)0) - #define __Pyx_c_conj_float(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_float(z) (::std::abs(z)) - #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_float(z) ((z)==0) - #define __Pyx_c_conj_float(z) (conjf(z)) - #if 1 - #define __Pyx_c_abs_float(z) (cabsf(z)) - #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); - #endif -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_double(a, b) ((a)==(b)) - #define __Pyx_c_sum_double(a, b) ((a)+(b)) - #define __Pyx_c_diff_double(a, b) ((a)-(b)) - #define __Pyx_c_prod_double(a, b) ((a)*(b)) - #define __Pyx_c_quot_double(a, b) ((a)/(b)) - #define __Pyx_c_neg_double(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_double(z) ((z)==(double)0) - #define __Pyx_c_conj_double(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (::std::abs(z)) - #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_double(z) ((z)==0) - #define __Pyx_c_conj_double(z) (conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (cabs(z)) - #define __Pyx_c_pow_double(a, b) (cpow(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); - #endif -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(void); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - - -/* Module declarations from 'cpython.buffer' */ - -/* Module declarations from 'libc.string' */ - -/* Module declarations from 'libc.stdio' */ - -/* Module declarations from '__builtin__' */ - -/* Module declarations from 'cpython.type' */ -static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; - -/* Module declarations from 'cpython' */ - -/* Module declarations from 'cpython.object' */ - -/* Module declarations from 'cpython.ref' */ - -/* Module declarations from 'cpython.mem' */ - -/* Module declarations from 'numpy' */ - -/* Module declarations from 'numpy' */ -static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; -static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; -static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; -static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; -static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ - -/* Module declarations from 'cython' */ - -/* Module declarations from 'claude_top_level_library' */ -#define __Pyx_MODULE_NAME "claude_top_level_library" -extern int __pyx_module_is_main_claude_top_level_library; -int __pyx_module_is_main_claude_top_level_library = 0; - -/* Implementation of 'claude_top_level_library' */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_builtin_RuntimeError; -static PyObject *__pyx_builtin_ImportError; -static const char __pyx_k_Q[] = "Q"; -static const char __pyx_k_a[] = "a"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_j[] = "j"; -static const char __pyx_k_k[] = "k"; -static const char __pyx_k_t[] = "t"; -static const char __pyx_k_u[] = "u"; -static const char __pyx_k_v[] = "v"; -static const char __pyx_k_w[] = "w"; -static const char __pyx_k_au[] = "au"; -static const char __pyx_k_av[] = "av"; -static const char __pyx_k_aw[] = "aw"; -static const char __pyx_k_dt[] = "dt"; -static const char __pyx_k_dx[] = "dx"; -static const char __pyx_k_dy[] = "dy"; -static const char __pyx_k_dz[] = "dz"; -static const char __pyx_k_fl[] = "fl"; -static const char __pyx_k_np[] = "np"; -static const char __pyx_k_day[] = "day"; -static const char __pyx_k_fft[] = "fft"; -static const char __pyx_k_lat[] = "lat"; -static const char __pyx_k_lon[] = "lon"; -static const char __pyx_k_fftn[] = "fftn"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_nlat[] = "nlat"; -static const char __pyx_k_nlon[] = "nlon"; -static const char __pyx_k_real[] = "real"; -static const char __pyx_k_test[] = "test"; -static const char __pyx_k_year[] = "year"; -static const char __pyx_k_ifftn[] = "ifftn"; -static const char __pyx_k_numpy[] = "numpy"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_solar[] = "solar"; -static const char __pyx_k_zeros[] = "zeros"; -static const char __pyx_k_albedo[] = "albedo"; -static const char __pyx_k_arange[] = "arange"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_inv_dx[] = "inv_dx"; -static const char __pyx_k_inv_dy[] = "inv_dy"; -static const char __pyx_k_output[] = "output"; -static const char __pyx_k_test_2[] = "__test__"; -static const char __pyx_k_tolist[] = "tolist"; -static const char __pyx_k_u_temp[] = "u_temp"; -static const char __pyx_k_v_temp[] = "v_temp"; -static const char __pyx_k_w_temp[] = "w_temp"; -static const char __pyx_k_gravity[] = "gravity"; -static const char __pyx_k_heights[] = "heights"; -static const char __pyx_k_nlevels[] = "nlevels"; -static const char __pyx_k_sun_lat[] = "sun_lat"; -static const char __pyx_k_coriolis[] = "coriolis"; -static const char __pyx_k_low_level[] = "low_level"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_axial_tilt[] = "axial_tilt"; -static const char __pyx_k_insolation[] = "insolation"; -static const char __pyx_k_zeros_like[] = "zeros_like"; -static const char __pyx_k_ImportError[] = "ImportError"; -static const char __pyx_k_air_density[] = "air_density"; -static const char __pyx_k_inv_density[] = "inv_density"; -static const char __pyx_k_inv_dt_grav[] = "inv_dt_grav"; -static const char __pyx_k_RuntimeError[] = "RuntimeError"; -static const char __pyx_k_air_pressure[] = "air_pressure"; -static const char __pyx_k_laplacian_2D[] = "laplacian_2D"; -static const char __pyx_k_laplacian_3D[] = "laplacian_3D"; -static const char __pyx_k_old_pressure[] = "old_pressure"; -static const char __pyx_k_smoothing_3D[] = "smoothing_3D"; -static const char __pyx_k_optical_depth[] = "optical_depth"; -static const char __pyx_k_density_profile[] = "density_profile"; -static const char __pyx_k_pressure_profile[] = "pressure_profile"; -static const char __pyx_k_smooth_parameter[] = "smooth_parameter"; -static const char __pyx_k_upward_radiation[] = "upward_radiation"; -static const char __pyx_k_scalar_gradient_x[] = "scalar_gradient_x"; -static const char __pyx_k_scalar_gradient_y[] = "scalar_gradient_y"; -static const char __pyx_k_scalar_gradient_z[] = "scalar_gradient_z"; -static const char __pyx_k_temperature_atmos[] = "temperature_atmos"; -static const char __pyx_k_temperature_world[] = "temperature_world"; -static const char __pyx_k_thermal_radiation[] = "thermal_radiation"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_downward_radiation[] = "downward_radiation"; -static const char __pyx_k_heat_capacity_earth[] = "heat_capacity_earth"; -static const char __pyx_k_scalar_gradient_x_2D[] = "scalar_gradient_x_2D"; -static const char __pyx_k_scalar_gradient_y_2D[] = "scalar_gradient_y_2D"; -static const char __pyx_k_scalar_gradient_z_1D[] = "scalar_gradient_z_1D"; -static const char __pyx_k_velocity_calculation[] = "velocity_calculation"; -static const char __pyx_k_radiation_calculation[] = "radiation_calculation"; -static const char __pyx_k_surface_optical_depth[] = "surface_optical_depth"; -static const char __pyx_k_divergence_with_scalar[] = "divergence_with_scalar"; -static const char __pyx_k_claude_low_level_library[] = "claude_low_level_library"; -static const char __pyx_k_claude_top_level_library[] = "claude_top_level_library"; -static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; -static const char __pyx_k_claude_top_level_library_pyx[] = "claude_top_level_library.pyx"; -static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; -static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; -static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; -static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; -static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; -static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; -static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; -static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; -static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; -static PyObject *__pyx_n_s_ImportError; -static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; -static PyObject *__pyx_n_s_Q; -static PyObject *__pyx_n_s_RuntimeError; -static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_n_s_a; -static PyObject *__pyx_n_s_air_density; -static PyObject *__pyx_n_s_air_pressure; -static PyObject *__pyx_n_s_albedo; -static PyObject *__pyx_n_s_arange; -static PyObject *__pyx_n_s_au; -static PyObject *__pyx_n_s_av; -static PyObject *__pyx_n_s_aw; -static PyObject *__pyx_n_s_axial_tilt; -static PyObject *__pyx_n_s_claude_low_level_library; -static PyObject *__pyx_n_s_claude_top_level_library; -static PyObject *__pyx_kp_s_claude_top_level_library_pyx; -static PyObject *__pyx_n_s_cline_in_traceback; -static PyObject *__pyx_n_s_coriolis; -static PyObject *__pyx_n_s_day; -static PyObject *__pyx_n_s_density_profile; -static PyObject *__pyx_n_s_divergence_with_scalar; -static PyObject *__pyx_n_s_downward_radiation; -static PyObject *__pyx_n_s_dt; -static PyObject *__pyx_n_s_dx; -static PyObject *__pyx_n_s_dy; -static PyObject *__pyx_n_s_dz; -static PyObject *__pyx_n_s_fft; -static PyObject *__pyx_n_s_fftn; -static PyObject *__pyx_n_s_fl; -static PyObject *__pyx_n_s_gravity; -static PyObject *__pyx_n_s_heat_capacity_earth; -static PyObject *__pyx_n_s_heights; -static PyObject *__pyx_n_s_i; -static PyObject *__pyx_n_s_ifftn; -static PyObject *__pyx_n_s_import; -static PyObject *__pyx_n_s_insolation; -static PyObject *__pyx_n_s_inv_density; -static PyObject *__pyx_n_s_inv_dt_grav; -static PyObject *__pyx_n_s_inv_dx; -static PyObject *__pyx_n_s_inv_dy; -static PyObject *__pyx_n_s_j; -static PyObject *__pyx_n_s_k; -static PyObject *__pyx_n_s_laplacian_2D; -static PyObject *__pyx_n_s_laplacian_3D; -static PyObject *__pyx_n_s_lat; -static PyObject *__pyx_n_s_lon; -static PyObject *__pyx_n_s_low_level; -static PyObject *__pyx_n_s_main; -static PyObject *__pyx_n_s_name; -static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; -static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; -static PyObject *__pyx_n_s_nlat; -static PyObject *__pyx_n_s_nlevels; -static PyObject *__pyx_n_s_nlon; -static PyObject *__pyx_n_s_np; -static PyObject *__pyx_n_s_numpy; -static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; -static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; -static PyObject *__pyx_n_s_old_pressure; -static PyObject *__pyx_n_s_optical_depth; -static PyObject *__pyx_n_s_output; -static PyObject *__pyx_n_s_pressure_profile; -static PyObject *__pyx_n_s_radiation_calculation; -static PyObject *__pyx_n_s_range; -static PyObject *__pyx_n_s_real; -static PyObject *__pyx_n_s_scalar_gradient_x; -static PyObject *__pyx_n_s_scalar_gradient_x_2D; -static PyObject *__pyx_n_s_scalar_gradient_y; -static PyObject *__pyx_n_s_scalar_gradient_y_2D; -static PyObject *__pyx_n_s_scalar_gradient_z; -static PyObject *__pyx_n_s_scalar_gradient_z_1D; -static PyObject *__pyx_n_s_smooth_parameter; -static PyObject *__pyx_n_s_smoothing_3D; -static PyObject *__pyx_n_s_solar; -static PyObject *__pyx_n_s_sun_lat; -static PyObject *__pyx_n_s_surface_optical_depth; -static PyObject *__pyx_n_s_t; -static PyObject *__pyx_n_s_temperature_atmos; -static PyObject *__pyx_n_s_temperature_world; -static PyObject *__pyx_n_s_test; -static PyObject *__pyx_n_s_test_2; -static PyObject *__pyx_n_s_thermal_radiation; -static PyObject *__pyx_n_s_tolist; -static PyObject *__pyx_n_s_u; -static PyObject *__pyx_n_s_u_temp; -static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; -static PyObject *__pyx_n_s_upward_radiation; -static PyObject *__pyx_n_s_v; -static PyObject *__pyx_n_s_v_temp; -static PyObject *__pyx_n_s_velocity_calculation; -static PyObject *__pyx_n_s_w; -static PyObject *__pyx_n_s_w_temp; -static PyObject *__pyx_n_s_year; -static PyObject *__pyx_n_s_zeros; -static PyObject *__pyx_n_s_zeros_like; -static PyObject *__pyx_pf_24claude_top_level_library_laplacian_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy); /* proto */ -static PyObject *__pyx_pf_24claude_top_level_library_2laplacian_3D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, PyArrayObject *__pyx_v_dz); /* proto */ -static PyObject *__pyx_pf_24claude_top_level_library_4divergence_with_scalar(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_u, PyArrayObject *__pyx_v_v, PyArrayObject *__pyx_v_w, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, PyArrayObject *__pyx_v_dz); /* proto */ -static PyObject *__pyx_pf_24claude_top_level_library_6radiation_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_temperature_world, PyArrayObject *__pyx_v_temperature_atmos, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_heat_capacity_earth, PyArrayObject *__pyx_v_albedo, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation, PyArrayObject *__pyx_v_lat, PyArrayObject *__pyx_v_lon, PyArrayObject *__pyx_v_heights, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_5numpy_int_t __pyx_v_dt, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt); /* proto */ -static PyObject *__pyx_pf_24claude_top_level_library_8velocity_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_u, PyArrayObject *__pyx_v_v, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_old_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_coriolis, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_gravity, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dt); /* proto */ -static PyObject *__pyx_pf_24claude_top_level_library_10smoothing_3D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_smooth_parameter); /* proto */ -static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */ -static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */ -static PyObject *__pyx_float_0_8; -static PyObject *__pyx_float_1E3; -static PyObject *__pyx_float_0_05; -static PyObject *__pyx_float_0_95; -static PyObject *__pyx_float_20E3; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static PyObject *__pyx_int_2; -static PyObject *__pyx_int_3; -static PyObject *__pyx_int_4; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_900; -static PyObject *__pyx_int_86400; -static PyObject *__pyx_int_neg_1; -static PyObject *__pyx_slice_; -static PyObject *__pyx_slice__2; -static PyObject *__pyx_tuple__3; -static PyObject *__pyx_tuple__4; -static PyObject *__pyx_tuple__5; -static PyObject *__pyx_tuple__6; -static PyObject *__pyx_tuple__7; -static PyObject *__pyx_tuple__8; -static PyObject *__pyx_tuple__9; -static PyObject *__pyx_tuple__10; -static PyObject *__pyx_tuple__11; -static PyObject *__pyx_tuple__13; -static PyObject *__pyx_tuple__15; -static PyObject *__pyx_tuple__17; -static PyObject *__pyx_tuple__19; -static PyObject *__pyx_tuple__21; -static PyObject *__pyx_codeobj__12; -static PyObject *__pyx_codeobj__14; -static PyObject *__pyx_codeobj__16; -static PyObject *__pyx_codeobj__18; -static PyObject *__pyx_codeobj__20; -static PyObject *__pyx_codeobj__22; -/* Late includes */ - -/* "claude_top_level_library.pyx":11 - * - * # laplacian of scalar field a - * def laplacian_2D(np.ndarray a,np.ndarray dx,DTYPE_f dy): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,i,j - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_1laplacian_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_1laplacian_2D = {"laplacian_2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_1laplacian_2D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_1laplacian_2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("laplacian_2D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_dy,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("laplacian_2D", 1, 3, 3, 1); __PYX_ERR(0, 11, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("laplacian_2D", 1, 3, 3, 2); __PYX_ERR(0, 11, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "laplacian_2D") < 0)) __PYX_ERR(0, 11, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dx = ((PyArrayObject *)values[1]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("laplacian_2D", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.laplacian_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 11, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 11, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_laplacian_2D(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_dy); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_laplacian_2D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy) { - PyArrayObject *__pyx_v_output = 0; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_dx; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_dy; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - PyObject *(*__pyx_t_8)(PyObject *); - __pyx_t_5numpy_int_t __pyx_t_9; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_t_10; - __pyx_t_5numpy_int_t __pyx_t_11; - __pyx_t_5numpy_int_t __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("laplacian_2D", 0); - - /* "claude_top_level_library.pyx":12 - * # laplacian of scalar field a - * def laplacian_2D(np.ndarray a,np.ndarray dx,DTYPE_f dy): - * cdef np.ndarray output = np.zeros_like(a) # <<<<<<<<<<<<<< - * cdef np.int_t nlat,nlon,i,j - * cdef DTYPE_f inv_dx, inv_dy - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_a)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_a)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 12, __pyx_L1_error) - __pyx_v_output = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":15 - * cdef np.int_t nlat,nlon,i,j - * cdef DTYPE_f inv_dx, inv_dy - * nlat = a.shape[0] # <<<<<<<<<<<<<< - * nlon = a.shape[1] - * inv_dy = 1/dy - */ - __pyx_v_nlat = (__pyx_v_a->dimensions[0]); - - /* "claude_top_level_library.pyx":16 - * cdef DTYPE_f inv_dx, inv_dy - * nlat = a.shape[0] - * nlon = a.shape[1] # <<<<<<<<<<<<<< - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): - */ - __pyx_v_nlon = (__pyx_v_a->dimensions[1]); - - /* "claude_top_level_library.pyx":17 - * nlat = a.shape[0] - * nlon = a.shape[1] - * inv_dy = 1/dy # <<<<<<<<<<<<<< - * for i in np.arange(1,nlat-1): - * inv_dx = dx[i] - */ - if (unlikely(__pyx_v_dy == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - __PYX_ERR(0, 17, __pyx_L1_error) - } - __pyx_v_inv_dy = (1.0 / __pyx_v_dy); - - /* "claude_top_level_library.pyx":18 - * nlon = a.shape[1] - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< - * inv_dx = dx[i] - * for j in range(nlon): - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long((__pyx_v_nlat - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; - __pyx_t_8 = NULL; - } else { - __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_8)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 18, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 18, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_8(__pyx_t_2); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 18, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_9 = __Pyx_PyInt_As_npy_long(__pyx_t_1); if (unlikely((__pyx_t_9 == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_i = __pyx_t_9; - - /* "claude_top_level_library.pyx":19 - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): - * inv_dx = dx[i] # <<<<<<<<<<<<<< - * for j in range(nlon): - * output[i,j] = (low_level.scalar_gradient_x_2D(a,dx,nlon,i,j) - low_level.scalar_gradient_x_2D(a,dx,nlon,i,j))*inv_dx + (low_level.scalar_gradient_y_2D(a,dy,nlat,i+1,j) - low_level.scalar_gradient_y_2D(a,dy,nlat,i-1,j))*inv_dy - */ - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dx), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_10 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_inv_dx = __pyx_t_10; - - /* "claude_top_level_library.pyx":20 - * for i in np.arange(1,nlat-1): - * inv_dx = dx[i] - * for j in range(nlon): # <<<<<<<<<<<<<< - * output[i,j] = (low_level.scalar_gradient_x_2D(a,dx,nlon,i,j) - low_level.scalar_gradient_x_2D(a,dx,nlon,i,j))*inv_dx + (low_level.scalar_gradient_y_2D(a,dy,nlat,i+1,j) - low_level.scalar_gradient_y_2D(a,dy,nlat,i-1,j))*inv_dy - * return output - */ - __pyx_t_9 = __pyx_v_nlon; - __pyx_t_11 = __pyx_t_9; - for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { - __pyx_v_j = __pyx_t_12; - - /* "claude_top_level_library.pyx":21 - * inv_dx = dx[i] - * for j in range(nlon): - * output[i,j] = (low_level.scalar_gradient_x_2D(a,dx,nlon,i,j) - low_level.scalar_gradient_x_2D(a,dx,nlon,i,j))*inv_dx + (low_level.scalar_gradient_y_2D(a,dy,nlat,i+1,j) - low_level.scalar_gradient_y_2D(a,dy,nlat,i-1,j))*inv_dy # <<<<<<<<<<<<<< - * return output - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_low_level); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_scalar_gradient_x_2D); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_6, __pyx_t_4, __pyx_t_13}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_6, __pyx_t_4, __pyx_t_13}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_5, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_5, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_5, __pyx_t_13); - __pyx_t_6 = 0; - __pyx_t_4 = 0; - __pyx_t_13 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_low_level); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_scalar_gradient_x_2D); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_13)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_15, __pyx_t_4, __pyx_t_6}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_15, __pyx_t_4, __pyx_t_6}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_16 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_5, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_5, __pyx_t_15); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_5, __pyx_t_6); - __pyx_t_15 = 0; - __pyx_t_4 = 0; - __pyx_t_6 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_inv_dx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_13, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_low_level); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_scalar_gradient_y_2D); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_16); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_16, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_16)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), __pyx_t_13, __pyx_t_6, __pyx_t_4, __pyx_t_15}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), __pyx_t_13, __pyx_t_6, __pyx_t_4, __pyx_t_15}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - { - __pyx_t_17 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_5, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_5, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_5, __pyx_t_15); - __pyx_t_13 = 0; - __pyx_t_6 = 0; - __pyx_t_4 = 0; - __pyx_t_15 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_17, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_low_level); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_scalar_gradient_y_2D); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_13 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_15)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), __pyx_t_17, __pyx_t_4, __pyx_t_6, __pyx_t_13}; - __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { - PyObject *__pyx_temp[6] = {__pyx_t_14, ((PyObject *)__pyx_v_a), __pyx_t_17, __pyx_t_4, __pyx_t_6, __pyx_t_13}; - __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - { - __pyx_t_18 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_5, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_5, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_5, __pyx_t_13); - __pyx_t_17 = 0; - __pyx_t_4 = 0; - __pyx_t_6 = 0; - __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_18, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyNumber_Subtract(__pyx_t_3, __pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = PyFloat_FromDouble(__pyx_v_inv_dy); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_3 = PyNumber_Multiply(__pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_1); - __pyx_t_3 = 0; - __pyx_t_1 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_output), __pyx_t_15, __pyx_t_16) < 0)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - - /* "claude_top_level_library.pyx":18 - * nlon = a.shape[1] - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< - * inv_dx = dx[i] - * for j in range(nlon): - */ - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":22 - * for j in range(nlon): - * output[i,j] = (low_level.scalar_gradient_x_2D(a,dx,nlon,i,j) - low_level.scalar_gradient_x_2D(a,dx,nlon,i,j))*inv_dx + (low_level.scalar_gradient_y_2D(a,dy,nlat,i+1,j) - low_level.scalar_gradient_y_2D(a,dy,nlat,i-1,j))*inv_dy - * return output # <<<<<<<<<<<<<< - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_output)); - __pyx_r = ((PyObject *)__pyx_v_output); - goto __pyx_L0; - - /* "claude_top_level_library.pyx":11 - * - * # laplacian of scalar field a - * def laplacian_2D(np.ndarray a,np.ndarray dx,DTYPE_f dy): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,i,j - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_AddTraceback("claude_top_level_library.laplacian_2D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_output); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_top_level_library.pyx":24 - * return output - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,nlevels,i,j,k - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_3laplacian_3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_3laplacian_3D = {"laplacian_3D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_3laplacian_3D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_3laplacian_3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy; - PyArrayObject *__pyx_v_dz = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("laplacian_3D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_dx,&__pyx_n_s_dy,&__pyx_n_s_dz,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("laplacian_3D", 1, 4, 4, 1); __PYX_ERR(0, 24, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("laplacian_3D", 1, 4, 4, 2); __PYX_ERR(0, 24, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("laplacian_3D", 1, 4, 4, 3); __PYX_ERR(0, 24, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "laplacian_3D") < 0)) __PYX_ERR(0, 24, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_dx = ((PyArrayObject *)values[1]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 24, __pyx_L3_error) - __pyx_v_dz = ((PyArrayObject *)values[3]); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("laplacian_3D", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.laplacian_3D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 24, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 24, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 24, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_2laplacian_3D(__pyx_self, __pyx_v_a, __pyx_v_dx, __pyx_v_dy, __pyx_v_dz); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_2laplacian_3D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, PyArrayObject *__pyx_v_dz) { - PyArrayObject *__pyx_v_output = 0; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_nlevels; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_dx; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_dy; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - PyObject *(*__pyx_t_8)(PyObject *); - __pyx_t_5numpy_int_t __pyx_t_9; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_t_10; - __pyx_t_5numpy_int_t __pyx_t_11; - __pyx_t_5numpy_int_t __pyx_t_12; - __pyx_t_5numpy_int_t __pyx_t_13; - __pyx_t_5numpy_int_t __pyx_t_14; - __pyx_t_5numpy_int_t __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("laplacian_3D", 0); - - /* "claude_top_level_library.pyx":25 - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): - * cdef np.ndarray output = np.zeros_like(a) # <<<<<<<<<<<<<< - * cdef np.int_t nlat,nlon,nlevels,i,j,k - * cdef DTYPE_f inv_dx, inv_dy - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_a)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_a)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 25, __pyx_L1_error) - __pyx_v_output = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":28 - * cdef np.int_t nlat,nlon,nlevels,i,j,k - * cdef DTYPE_f inv_dx, inv_dy - * nlat = a.shape[0] # <<<<<<<<<<<<<< - * nlon = a.shape[1] - * nlevels = a.shape[2] - */ - __pyx_v_nlat = (__pyx_v_a->dimensions[0]); - - /* "claude_top_level_library.pyx":29 - * cdef DTYPE_f inv_dx, inv_dy - * nlat = a.shape[0] - * nlon = a.shape[1] # <<<<<<<<<<<<<< - * nlevels = a.shape[2] - * inv_dy = 1/dy - */ - __pyx_v_nlon = (__pyx_v_a->dimensions[1]); - - /* "claude_top_level_library.pyx":30 - * nlat = a.shape[0] - * nlon = a.shape[1] - * nlevels = a.shape[2] # <<<<<<<<<<<<<< - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): - */ - __pyx_v_nlevels = (__pyx_v_a->dimensions[2]); - - /* "claude_top_level_library.pyx":31 - * nlon = a.shape[1] - * nlevels = a.shape[2] - * inv_dy = 1/dy # <<<<<<<<<<<<<< - * for i in np.arange(1,nlat-1): - * inv_dx = 1/dx[i] - */ - if (unlikely(__pyx_v_dy == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - __PYX_ERR(0, 31, __pyx_L1_error) - } - __pyx_v_inv_dy = (1.0 / __pyx_v_dy); - - /* "claude_top_level_library.pyx":32 - * nlevels = a.shape[2] - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< - * inv_dx = 1/dx[i] - * for j in range(nlon): - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long((__pyx_v_nlat - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; - __pyx_t_8 = NULL; - } else { - __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_8)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 32, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 32, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_8(__pyx_t_2); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 32, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_9 = __Pyx_PyInt_As_npy_long(__pyx_t_1); if (unlikely((__pyx_t_9 == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_i = __pyx_t_9; - - /* "claude_top_level_library.pyx":33 - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): - * inv_dx = 1/dx[i] # <<<<<<<<<<<<<< - * for j in range(nlon): - * for k in range(nlevels-1): - */ - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dx), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_int_1, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_10 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_inv_dx = __pyx_t_10; - - /* "claude_top_level_library.pyx":34 - * for i in np.arange(1,nlat-1): - * inv_dx = 1/dx[i] - * for j in range(nlon): # <<<<<<<<<<<<<< - * for k in range(nlevels-1): - * output[i,j,k] = (low_level.scalar_gradient_x(a,dx,nlon,i,j,k) - low_level.scalar_gradient_x(a,dx,nlon,i,j,k))*inv_dx + (low_level.scalar_gradient_y(a,dy,nlat,i+1,j,k) - low_level.scalar_gradient_y(a,dy,nlat,i-1,j,k))*inv_dy + (low_level.scalar_gradient_z(a,dz,i,j,k+1)-low_level.scalar_gradient_z(a,dz,i,j,k-1))/(2*dz[k]) - */ - __pyx_t_9 = __pyx_v_nlon; - __pyx_t_11 = __pyx_t_9; - for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { - __pyx_v_j = __pyx_t_12; - - /* "claude_top_level_library.pyx":35 - * inv_dx = 1/dx[i] - * for j in range(nlon): - * for k in range(nlevels-1): # <<<<<<<<<<<<<< - * output[i,j,k] = (low_level.scalar_gradient_x(a,dx,nlon,i,j,k) - low_level.scalar_gradient_x(a,dx,nlon,i,j,k))*inv_dx + (low_level.scalar_gradient_y(a,dy,nlat,i+1,j,k) - low_level.scalar_gradient_y(a,dy,nlat,i-1,j,k))*inv_dy + (low_level.scalar_gradient_z(a,dz,i,j,k+1)-low_level.scalar_gradient_z(a,dz,i,j,k-1))/(2*dz[k]) - * return output - */ - __pyx_t_13 = (__pyx_v_nlevels - 1); - __pyx_t_14 = __pyx_t_13; - for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) { - __pyx_v_k = __pyx_t_15; - - /* "claude_top_level_library.pyx":36 - * for j in range(nlon): - * for k in range(nlevels-1): - * output[i,j,k] = (low_level.scalar_gradient_x(a,dx,nlon,i,j,k) - low_level.scalar_gradient_x(a,dx,nlon,i,j,k))*inv_dx + (low_level.scalar_gradient_y(a,dy,nlat,i+1,j,k) - low_level.scalar_gradient_y(a,dy,nlat,i-1,j,k))*inv_dy + (low_level.scalar_gradient_z(a,dz,i,j,k+1)-low_level.scalar_gradient_z(a,dz,i,j,k-1))/(2*dz[k]) # <<<<<<<<<<<<<< - * return output - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_1, __pyx_t_4, __pyx_t_16, __pyx_t_17}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_1, __pyx_t_4, __pyx_t_16, __pyx_t_17}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - { - __pyx_t_19 = PyTuple_New(6+__pyx_t_5); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_5, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_5, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_5, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_5, __pyx_t_17); - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_16 = 0; - __pyx_t_17 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_low_level); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_19, __pyx_t_16, __pyx_t_4, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dx), __pyx_t_19, __pyx_t_16, __pyx_t_4, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_20 = PyTuple_New(6+__pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_5, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_5, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_5, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_5, __pyx_t_1); - __pyx_t_19 = 0; - __pyx_t_16 = 0; - __pyx_t_4 = 0; - __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Subtract(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_inv_dx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = PyNumber_Multiply(__pyx_t_17, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_low_level); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_npy_long((__pyx_v_i + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_18 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_20); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_20, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), __pyx_t_17, __pyx_t_1, __pyx_t_4, __pyx_t_16, __pyx_t_19}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), __pyx_t_17, __pyx_t_1, __pyx_t_4, __pyx_t_16, __pyx_t_19}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } else - #endif - { - __pyx_t_21 = PyTuple_New(6+__pyx_t_5); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_5, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_5, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_5, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_5, __pyx_t_19); - __pyx_t_17 = 0; - __pyx_t_1 = 0; - __pyx_t_4 = 0; - __pyx_t_16 = 0; - __pyx_t_19 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_21, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_low_level); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_4 = __Pyx_PyInt_From_npy_long((__pyx_v_i - 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), __pyx_t_21, __pyx_t_16, __pyx_t_4, __pyx_t_1, __pyx_t_17}; - __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_a), __pyx_t_21, __pyx_t_16, __pyx_t_4, __pyx_t_1, __pyx_t_17}; - __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_5, 6+__pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - { - __pyx_t_22 = PyTuple_New(6+__pyx_t_5); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_5, __pyx_t_21); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_5, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_5, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_5, __pyx_t_17); - __pyx_t_21 = 0; - __pyx_t_16 = 0; - __pyx_t_4 = 0; - __pyx_t_1 = 0; - __pyx_t_17 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_22, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = PyNumber_Subtract(__pyx_t_3, __pyx_t_20); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyFloat_FromDouble(__pyx_v_inv_dy); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_3 = PyNumber_Multiply(__pyx_t_19, __pyx_t_20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyNumber_Add(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_low_level); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_scalar_gradient_z); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_22 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_17 = __Pyx_PyInt_From_npy_long((__pyx_v_k + 1)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[6] = {__pyx_t_1, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dz), __pyx_t_6, __pyx_t_22, __pyx_t_17}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[6] = {__pyx_t_1, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dz), __pyx_t_6, __pyx_t_22, __pyx_t_17}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } else - #endif - { - __pyx_t_4 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dz)); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, ((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_5, __pyx_t_22); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_5, __pyx_t_17); - __pyx_t_6 = 0; - __pyx_t_22 = 0; - __pyx_t_17 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_low_level); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_scalar_gradient_z); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_22 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_6 = __Pyx_PyInt_From_npy_long((__pyx_v_k - 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[6] = {__pyx_t_1, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dz), __pyx_t_4, __pyx_t_22, __pyx_t_6}; - __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[6] = {__pyx_t_1, ((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_dz), __pyx_t_4, __pyx_t_22, __pyx_t_6}; - __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_16 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_a)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_a)); - PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_5, ((PyObject *)__pyx_v_a)); - __Pyx_INCREF(((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dz)); - PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_5, ((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_5, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_5, __pyx_t_22); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_5, __pyx_t_6); - __pyx_t_4 = 0; - __pyx_t_22 = 0; - __pyx_t_6 = 0; - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Subtract(__pyx_t_3, __pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_GetItemInt(((PyObject *)__pyx_v_dz), __pyx_v_k, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_3 = PyNumber_Multiply(__pyx_int_2, __pyx_t_19); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_3); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Add(__pyx_t_20, __pyx_t_19); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_17); - __pyx_t_19 = 0; - __pyx_t_20 = 0; - __pyx_t_17 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_output), __pyx_t_16, __pyx_t_3) < 0)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - } - - /* "claude_top_level_library.pyx":32 - * nlevels = a.shape[2] - * inv_dy = 1/dy - * for i in np.arange(1,nlat-1): # <<<<<<<<<<<<<< - * inv_dx = 1/dx[i] - * for j in range(nlon): - */ - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":37 - * for k in range(nlevels-1): - * output[i,j,k] = (low_level.scalar_gradient_x(a,dx,nlon,i,j,k) - low_level.scalar_gradient_x(a,dx,nlon,i,j,k))*inv_dx + (low_level.scalar_gradient_y(a,dy,nlat,i+1,j,k) - low_level.scalar_gradient_y(a,dy,nlat,i-1,j,k))*inv_dy + (low_level.scalar_gradient_z(a,dz,i,j,k+1)-low_level.scalar_gradient_z(a,dz,i,j,k-1))/(2*dz[k]) - * return output # <<<<<<<<<<<<<< - * - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_output)); - __pyx_r = ((PyObject *)__pyx_v_output); - goto __pyx_L0; - - /* "claude_top_level_library.pyx":24 - * return output - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,nlevels,i,j,k - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_AddTraceback("claude_top_level_library.laplacian_3D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_output); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_top_level_library.pyx":40 - * - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - * def divergence_with_scalar(np.ndarray a,np.ndarray u,np.ndarray v,np.ndarray w,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.ndarray au, av, aw - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_5divergence_with_scalar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_5divergence_with_scalar = {"divergence_with_scalar", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_5divergence_with_scalar, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_5divergence_with_scalar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - PyArrayObject *__pyx_v_u = 0; - PyArrayObject *__pyx_v_v = 0; - PyArrayObject *__pyx_v_w = 0; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy; - PyArrayObject *__pyx_v_dz = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("divergence_with_scalar (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,&__pyx_n_s_dx,&__pyx_n_s_dy,&__pyx_n_s_dz,0}; - PyObject* values[7] = {0,0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 1); __PYX_ERR(0, 40, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 2); __PYX_ERR(0, 40, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 3); __PYX_ERR(0, 40, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 4); __PYX_ERR(0, 40, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 5); __PYX_ERR(0, 40, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 6: - if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, 6); __PYX_ERR(0, 40, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "divergence_with_scalar") < 0)) __PYX_ERR(0, 40, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_u = ((PyArrayObject *)values[1]); - __pyx_v_v = ((PyArrayObject *)values[2]); - __pyx_v_w = ((PyArrayObject *)values[3]); - __pyx_v_dx = ((PyArrayObject *)values[4]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 40, __pyx_L3_error) - __pyx_v_dz = ((PyArrayObject *)values[6]); - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("divergence_with_scalar", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 40, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.divergence_with_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_u), __pyx_ptype_5numpy_ndarray, 1, "u", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_v), __pyx_ptype_5numpy_ndarray, 1, "v", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 40, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_4divergence_with_scalar(__pyx_self, __pyx_v_a, __pyx_v_u, __pyx_v_v, __pyx_v_w, __pyx_v_dx, __pyx_v_dy, __pyx_v_dz); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_4divergence_with_scalar(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_u, PyArrayObject *__pyx_v_v, PyArrayObject *__pyx_v_w, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, PyArrayObject *__pyx_v_dz) { - PyArrayObject *__pyx_v_output = 0; - PyArrayObject *__pyx_v_au = 0; - PyArrayObject *__pyx_v_av = 0; - PyArrayObject *__pyx_v_aw = 0; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_nlevels; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - __pyx_t_5numpy_int_t __pyx_t_4; - __pyx_t_5numpy_int_t __pyx_t_5; - __pyx_t_5numpy_int_t __pyx_t_6; - __pyx_t_5numpy_int_t __pyx_t_7; - __pyx_t_5numpy_int_t __pyx_t_8; - __pyx_t_5numpy_int_t __pyx_t_9; - __pyx_t_5numpy_int_t __pyx_t_10; - __pyx_t_5numpy_int_t __pyx_t_11; - __pyx_t_5numpy_int_t __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("divergence_with_scalar", 0); - - /* "claude_top_level_library.pyx":41 - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - * def divergence_with_scalar(np.ndarray a,np.ndarray u,np.ndarray v,np.ndarray w,np.ndarray dx,DTYPE_f dy,np.ndarray dz): - * cdef np.ndarray output = np.zeros_like(a) # <<<<<<<<<<<<<< - * cdef np.ndarray au, av, aw - * cdef np.int_t nlat, nlon, nlevels, i, j, k - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_a)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_a)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 41, __pyx_L1_error) - __pyx_v_output = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":45 - * cdef np.int_t nlat, nlon, nlevels, i, j, k - * - * nlat = output.shape[0] # <<<<<<<<<<<<<< - * nlon = output.shape[1] - * nlevels = output.shape[2] - */ - __pyx_v_nlat = (__pyx_v_output->dimensions[0]); - - /* "claude_top_level_library.pyx":46 - * - * nlat = output.shape[0] - * nlon = output.shape[1] # <<<<<<<<<<<<<< - * nlevels = output.shape[2] - * - */ - __pyx_v_nlon = (__pyx_v_output->dimensions[1]); - - /* "claude_top_level_library.pyx":47 - * nlat = output.shape[0] - * nlon = output.shape[1] - * nlevels = output.shape[2] # <<<<<<<<<<<<<< - * - * au = a*u - */ - __pyx_v_nlevels = (__pyx_v_output->dimensions[2]); - - /* "claude_top_level_library.pyx":49 - * nlevels = output.shape[2] - * - * au = a*u # <<<<<<<<<<<<<< - * av = a*v - * aw = a*w - */ - __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_u)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 49, __pyx_L1_error) - __pyx_v_au = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":50 - * - * au = a*u - * av = a*v # <<<<<<<<<<<<<< - * aw = a*w - * - */ - __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_v)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 50, __pyx_L1_error) - __pyx_v_av = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":51 - * au = a*u - * av = a*v - * aw = a*w # <<<<<<<<<<<<<< - * - * for i in range(nlat): - */ - __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_a), ((PyObject *)__pyx_v_w)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 51, __pyx_L1_error) - __pyx_v_aw = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":53 - * aw = a*w - * - * for i in range(nlat): # <<<<<<<<<<<<<< - * for j in range(nlon): - * for k in range(nlevels): - */ - __pyx_t_4 = __pyx_v_nlat; - __pyx_t_5 = __pyx_t_4; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i = __pyx_t_6; - - /* "claude_top_level_library.pyx":54 - * - * for i in range(nlat): - * for j in range(nlon): # <<<<<<<<<<<<<< - * for k in range(nlevels): - * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) + 0.05*low_level.scalar_gradient_z(aw,dz,i,j,k) - */ - __pyx_t_7 = __pyx_v_nlon; - __pyx_t_8 = __pyx_t_7; - for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { - __pyx_v_j = __pyx_t_9; - - /* "claude_top_level_library.pyx":55 - * for i in range(nlat): - * for j in range(nlon): - * for k in range(nlevels): # <<<<<<<<<<<<<< - * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) + 0.05*low_level.scalar_gradient_z(aw,dz,i,j,k) - * return output - */ - __pyx_t_10 = __pyx_v_nlevels; - __pyx_t_11 = __pyx_t_10; - for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) { - __pyx_v_k = __pyx_t_12; - - /* "claude_top_level_library.pyx":56 - * for j in range(nlon): - * for k in range(nlevels): - * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) + 0.05*low_level.scalar_gradient_z(aw,dz,i,j,k) # <<<<<<<<<<<<<< - * return output - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_low_level); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_16)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_16); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[7] = {__pyx_t_16, ((PyObject *)__pyx_v_au), ((PyObject *)__pyx_v_dx), __pyx_t_3, __pyx_t_13, __pyx_t_14, __pyx_t_15}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_17, 6+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[7] = {__pyx_t_16, ((PyObject *)__pyx_v_au), ((PyObject *)__pyx_v_dx), __pyx_t_3, __pyx_t_13, __pyx_t_14, __pyx_t_15}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_17, 6+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - { - __pyx_t_18 = PyTuple_New(6+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_au)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_au)); - PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, ((PyObject *)__pyx_v_au)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_17, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_17, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_17, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_17, __pyx_t_15); - __pyx_t_3 = 0; - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_low_level); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_14 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_19 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_15)) { - PyObject *__pyx_temp[7] = {__pyx_t_19, ((PyObject *)__pyx_v_av), __pyx_t_18, __pyx_t_14, __pyx_t_13, __pyx_t_3, __pyx_t_16}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_17, 6+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { - PyObject *__pyx_temp[7] = {__pyx_t_19, ((PyObject *)__pyx_v_av), __pyx_t_18, __pyx_t_14, __pyx_t_13, __pyx_t_3, __pyx_t_16}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_17, 6+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } else - #endif - { - __pyx_t_20 = PyTuple_New(6+__pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_19) { - __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_av)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_av)); - PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_17, ((PyObject *)__pyx_v_av)); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_17, __pyx_t_18); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_17, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_17, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_17, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_17, __pyx_t_16); - __pyx_t_18 = 0; - __pyx_t_14 = 0; - __pyx_t_13 = 0; - __pyx_t_3 = 0; - __pyx_t_16 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_20, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_scalar_gradient_z); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_20); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_20, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[6] = {__pyx_t_13, ((PyObject *)__pyx_v_aw), ((PyObject *)__pyx_v_dz), __pyx_t_1, __pyx_t_16, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_17, 5+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) { - PyObject *__pyx_temp[6] = {__pyx_t_13, ((PyObject *)__pyx_v_aw), ((PyObject *)__pyx_v_dz), __pyx_t_1, __pyx_t_16, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_17, 5+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_14 = PyTuple_New(5+__pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_aw)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_aw)); - PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_17, ((PyObject *)__pyx_v_aw)); - __Pyx_INCREF(((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dz)); - PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_17, ((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_17, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_17, __pyx_t_16); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_17, __pyx_t_3); - __pyx_t_1 = 0; - __pyx_t_16 = 0; - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyNumber_Multiply(__pyx_float_0_05, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Add(__pyx_t_15, __pyx_t_20); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_15 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_14 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_15); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_14); - __pyx_t_20 = 0; - __pyx_t_15 = 0; - __pyx_t_14 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_output), __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - } - } - - /* "claude_top_level_library.pyx":57 - * for k in range(nlevels): - * output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) + 0.05*low_level.scalar_gradient_z(aw,dz,i,j,k) - * return output # <<<<<<<<<<<<<< - * - * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_output)); - __pyx_r = ((PyObject *)__pyx_v_output); - goto __pyx_L0; - - /* "claude_top_level_library.pyx":40 - * - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - * def divergence_with_scalar(np.ndarray a,np.ndarray u,np.ndarray v,np.ndarray w,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.ndarray au, av, aw - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("claude_top_level_library.divergence_with_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_output); - __Pyx_XDECREF((PyObject *)__pyx_v_au); - __Pyx_XDECREF((PyObject *)__pyx_v_av); - __Pyx_XDECREF((PyObject *)__pyx_v_aw); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_top_level_library.pyx":59 - * return output - * - * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * # calculate change in temperature of ground and atmosphere due to radiative imbalance - * cdef np.int_t nlat,nlon,nlevels,i,j - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_7radiation_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_7radiation_calculation = {"radiation_calculation", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_7radiation_calculation, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_7radiation_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_temperature_world = 0; - PyArrayObject *__pyx_v_temperature_atmos = 0; - PyArrayObject *__pyx_v_air_pressure = 0; - PyArrayObject *__pyx_v_air_density = 0; - PyArrayObject *__pyx_v_heat_capacity_earth = 0; - PyArrayObject *__pyx_v_albedo = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation; - PyArrayObject *__pyx_v_lat = 0; - PyArrayObject *__pyx_v_lon = 0; - PyArrayObject *__pyx_v_heights = 0; - PyArrayObject *__pyx_v_dz = 0; - __pyx_t_5numpy_int_t __pyx_v_t; - __pyx_t_5numpy_int_t __pyx_v_dt; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("radiation_calculation (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_temperature_world,&__pyx_n_s_temperature_atmos,&__pyx_n_s_air_pressure,&__pyx_n_s_air_density,&__pyx_n_s_heat_capacity_earth,&__pyx_n_s_albedo,&__pyx_n_s_insolation,&__pyx_n_s_lat,&__pyx_n_s_lon,&__pyx_n_s_heights,&__pyx_n_s_dz,&__pyx_n_s_t,&__pyx_n_s_dt,&__pyx_n_s_day,&__pyx_n_s_year,&__pyx_n_s_axial_tilt,0}; - PyObject* values[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15); - CYTHON_FALLTHROUGH; - case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14); - CYTHON_FALLTHROUGH; - case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13); - CYTHON_FALLTHROUGH; - case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12); - CYTHON_FALLTHROUGH; - case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11); - CYTHON_FALLTHROUGH; - case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); - CYTHON_FALLTHROUGH; - case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - CYTHON_FALLTHROUGH; - case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - CYTHON_FALLTHROUGH; - case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - CYTHON_FALLTHROUGH; - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_temperature_world)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_temperature_atmos)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 1); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_pressure)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 2); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_density)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 3); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_heat_capacity_earth)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 4); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_albedo)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 5); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 6: - if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_insolation)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 6); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 7: - if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lat)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 7); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 8: - if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lon)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 8); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 9: - if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_heights)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 9); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 10: - if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dz)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 10); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 11: - if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 11); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 12: - if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dt)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 12); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 13: - if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_day)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 13); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 14: - if (likely((values[14] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 14); __PYX_ERR(0, 59, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 15: - if (likely((values[15] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_axial_tilt)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, 15); __PYX_ERR(0, 59, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "radiation_calculation") < 0)) __PYX_ERR(0, 59, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 16) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - values[10] = PyTuple_GET_ITEM(__pyx_args, 10); - values[11] = PyTuple_GET_ITEM(__pyx_args, 11); - values[12] = PyTuple_GET_ITEM(__pyx_args, 12); - values[13] = PyTuple_GET_ITEM(__pyx_args, 13); - values[14] = PyTuple_GET_ITEM(__pyx_args, 14); - values[15] = PyTuple_GET_ITEM(__pyx_args, 15); - } - __pyx_v_temperature_world = ((PyArrayObject *)values[0]); - __pyx_v_temperature_atmos = ((PyArrayObject *)values[1]); - __pyx_v_air_pressure = ((PyArrayObject *)values[2]); - __pyx_v_air_density = ((PyArrayObject *)values[3]); - __pyx_v_heat_capacity_earth = ((PyArrayObject *)values[4]); - __pyx_v_albedo = ((PyArrayObject *)values[5]); - __pyx_v_insolation = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_insolation == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_v_lat = ((PyArrayObject *)values[7]); - __pyx_v_lon = ((PyArrayObject *)values[8]); - __pyx_v_heights = ((PyArrayObject *)values[9]); - __pyx_v_dz = ((PyArrayObject *)values[10]); - __pyx_v_t = __Pyx_PyInt_As_npy_long(values[11]); if (unlikely((__pyx_v_t == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_v_dt = __Pyx_PyInt_As_npy_long(values[12]); if (unlikely((__pyx_v_dt == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_v_day = __pyx_PyFloat_AsDouble(values[13]); if (unlikely((__pyx_v_day == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_v_year = __pyx_PyFloat_AsDouble(values[14]); if (unlikely((__pyx_v_year == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_v_axial_tilt = __pyx_PyFloat_AsDouble(values[15]); if (unlikely((__pyx_v_axial_tilt == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("radiation_calculation", 1, 16, 16, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 59, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.radiation_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_temperature_world), __pyx_ptype_5numpy_ndarray, 1, "temperature_world", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_temperature_atmos), __pyx_ptype_5numpy_ndarray, 1, "temperature_atmos", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_pressure), __pyx_ptype_5numpy_ndarray, 1, "air_pressure", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_density), __pyx_ptype_5numpy_ndarray, 1, "air_density", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heat_capacity_earth), __pyx_ptype_5numpy_ndarray, 1, "heat_capacity_earth", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_albedo), __pyx_ptype_5numpy_ndarray, 1, "albedo", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lat), __pyx_ptype_5numpy_ndarray, 1, "lat", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lon), __pyx_ptype_5numpy_ndarray, 1, "lon", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heights), __pyx_ptype_5numpy_ndarray, 1, "heights", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dz), __pyx_ptype_5numpy_ndarray, 1, "dz", 0))) __PYX_ERR(0, 59, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_6radiation_calculation(__pyx_self, __pyx_v_temperature_world, __pyx_v_temperature_atmos, __pyx_v_air_pressure, __pyx_v_air_density, __pyx_v_heat_capacity_earth, __pyx_v_albedo, __pyx_v_insolation, __pyx_v_lat, __pyx_v_lon, __pyx_v_heights, __pyx_v_dz, __pyx_v_t, __pyx_v_dt, __pyx_v_day, __pyx_v_year, __pyx_v_axial_tilt); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_6radiation_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_temperature_world, PyArrayObject *__pyx_v_temperature_atmos, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_heat_capacity_earth, PyArrayObject *__pyx_v_albedo, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_insolation, PyArrayObject *__pyx_v_lat, PyArrayObject *__pyx_v_lon, PyArrayObject *__pyx_v_heights, PyArrayObject *__pyx_v_dz, __pyx_t_5numpy_int_t __pyx_v_t, __pyx_t_5numpy_int_t __pyx_v_dt, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_day, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_year, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_axial_tilt) { - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_nlevels; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_fl; - PyArrayObject *__pyx_v_upward_radiation = 0; - PyArrayObject *__pyx_v_downward_radiation = 0; - PyArrayObject *__pyx_v_optical_depth = 0; - PyArrayObject *__pyx_v_Q = 0; - PyArrayObject *__pyx_v_pressure_profile = 0; - PyArrayObject *__pyx_v_density_profile = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_sun_lat; - PyObject *__pyx_v_k = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - __pyx_t_5numpy_int_t __pyx_t_5; - __pyx_t_5numpy_int_t __pyx_t_6; - __pyx_t_5numpy_int_t __pyx_t_7; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_t_8; - __pyx_t_5numpy_int_t __pyx_t_9; - __pyx_t_5numpy_int_t __pyx_t_10; - __pyx_t_5numpy_int_t __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - Py_ssize_t __pyx_t_14; - PyObject *(*__pyx_t_15)(PyObject *); - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("radiation_calculation", 0); - - /* "claude_top_level_library.pyx":62 - * # calculate change in temperature of ground and atmosphere due to radiative imbalance - * cdef np.int_t nlat,nlon,nlevels,i,j - * cdef DTYPE_f fl = 0.1 # <<<<<<<<<<<<<< - * cdef np.ndarray upward_radiation,downward_radiation,optical_depth,Q, pressure_profile, density_profile - * cdef DTYPE_f sun_lat - */ - __pyx_v_fl = 0.1; - - /* "claude_top_level_library.pyx":66 - * cdef DTYPE_f sun_lat - * - * nlat = temperature_atmos.shape[0] # <<<<<<<<<<<<<< - * nlon = temperature_atmos.shape[1] - * nlevels = temperature_atmos.shape[2] - */ - __pyx_v_nlat = (__pyx_v_temperature_atmos->dimensions[0]); - - /* "claude_top_level_library.pyx":67 - * - * nlat = temperature_atmos.shape[0] - * nlon = temperature_atmos.shape[1] # <<<<<<<<<<<<<< - * nlevels = temperature_atmos.shape[2] - * - */ - __pyx_v_nlon = (__pyx_v_temperature_atmos->dimensions[1]); - - /* "claude_top_level_library.pyx":68 - * nlat = temperature_atmos.shape[0] - * nlon = temperature_atmos.shape[1] - * nlevels = temperature_atmos.shape[2] # <<<<<<<<<<<<<< - * - * upward_radiation = np.zeros(nlevels) - */ - __pyx_v_nlevels = (__pyx_v_temperature_atmos->dimensions[2]); - - /* "claude_top_level_library.pyx":70 - * nlevels = temperature_atmos.shape[2] - * - * upward_radiation = np.zeros(nlevels) # <<<<<<<<<<<<<< - * downward_radiation = np.zeros(nlevels) - * optical_depth = np.zeros(nlevels) - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 70, __pyx_L1_error) - __pyx_v_upward_radiation = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":71 - * - * upward_radiation = np.zeros(nlevels) - * downward_radiation = np.zeros(nlevels) # <<<<<<<<<<<<<< - * optical_depth = np.zeros(nlevels) - * Q = np.zeros(nlevels) - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 71, __pyx_L1_error) - __pyx_v_downward_radiation = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":72 - * upward_radiation = np.zeros(nlevels) - * downward_radiation = np.zeros(nlevels) - * optical_depth = np.zeros(nlevels) # <<<<<<<<<<<<<< - * Q = np.zeros(nlevels) - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 72, __pyx_L1_error) - __pyx_v_optical_depth = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":73 - * downward_radiation = np.zeros(nlevels) - * optical_depth = np.zeros(nlevels) - * Q = np.zeros(nlevels) # <<<<<<<<<<<<<< - * - * for i in range(nlat): - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 73, __pyx_L1_error) - __pyx_v_Q = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":75 - * Q = np.zeros(nlevels) - * - * for i in range(nlat): # <<<<<<<<<<<<<< - * sun_lat = low_level.surface_optical_depth(lat[i]) - * for j in range(nlon): - */ - __pyx_t_5 = __pyx_v_nlat; - __pyx_t_6 = __pyx_t_5; - for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { - __pyx_v_i = __pyx_t_7; - - /* "claude_top_level_library.pyx":76 - * - * for i in range(nlat): - * sun_lat = low_level.surface_optical_depth(lat[i]) # <<<<<<<<<<<<<< - * for j in range(nlon): - * # calculate optical depth - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_low_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_surface_optical_depth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_8 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_sun_lat = __pyx_t_8; - - /* "claude_top_level_library.pyx":77 - * for i in range(nlat): - * sun_lat = low_level.surface_optical_depth(lat[i]) - * for j in range(nlon): # <<<<<<<<<<<<<< - * # calculate optical depth - * pressure_profile = air_pressure[i,j,:] - */ - __pyx_t_9 = __pyx_v_nlon; - __pyx_t_10 = __pyx_t_9; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_j = __pyx_t_11; - - /* "claude_top_level_library.pyx":79 - * for j in range(nlon): - * # calculate optical depth - * pressure_profile = air_pressure[i,j,:] # <<<<<<<<<<<<<< - * density_profile = air_density[i,j,:] - * optical_depth = sun_lat*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) - */ - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_slice_); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_pressure), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_pressure_profile, ((PyArrayObject *)__pyx_t_3)); - __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":80 - * # calculate optical depth - * pressure_profile = air_pressure[i,j,:] - * density_profile = air_density[i,j,:] # <<<<<<<<<<<<<< - * optical_depth = sun_lat*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) - * - */ - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_slice_); - __pyx_t_3 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_density), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_density_profile, ((PyArrayObject *)__pyx_t_2)); - __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":81 - * pressure_profile = air_pressure[i,j,:] - * density_profile = air_density[i,j,:] - * optical_depth = sun_lat*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) # <<<<<<<<<<<<<< - * - * # calculate upward longwave flux, bc is thermal radiation at surface - */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_sun_lat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_fl); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_pressure_profile), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyNumber_Divide(((PyObject *)__pyx_v_pressure_profile), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyFloat_FromDouble((1.0 - __pyx_v_fl)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_pressure_profile), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyNumber_Divide(((PyObject *)__pyx_v_pressure_profile), __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Power(__pyx_t_12, __pyx_int_4, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Multiply(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(((__pyx_t_12) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_12, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_optical_depth, ((PyArrayObject *)__pyx_t_12)); - __pyx_t_12 = 0; - - /* "claude_top_level_library.pyx":84 - * - * # calculate upward longwave flux, bc is thermal radiation at surface - * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) # <<<<<<<<<<<<<< - * for k in np.arange(1,nlevels): - * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_12 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_upward_radiation), 0, __pyx_t_12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - /* "claude_top_level_library.pyx":85 - * # calculate upward longwave flux, bc is thermal radiation at surface - * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) - * for k in np.arange(1,nlevels): # <<<<<<<<<<<<<< - * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_arange); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_2}; - __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_1, __pyx_t_2}; - __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_13, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_13, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { - __pyx_t_3 = __pyx_t_12; __Pyx_INCREF(__pyx_t_3); __pyx_t_14 = 0; - __pyx_t_15 = NULL; - } else { - __pyx_t_14 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 85, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - for (;;) { - if (likely(!__pyx_t_15)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_12 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_14); __Pyx_INCREF(__pyx_t_12); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 85, __pyx_L1_error) - #else - __pyx_t_12 = PySequence_ITEM(__pyx_t_3, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #endif - } else { - if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_14); __Pyx_INCREF(__pyx_t_12); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 85, __pyx_L1_error) - #else - __pyx_t_12 = PySequence_ITEM(__pyx_t_3, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - #endif - } - } else { - __pyx_t_12 = __pyx_t_15(__pyx_t_3); - if (unlikely(!__pyx_t_12)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 85, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_12); - } - __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_12); - __pyx_t_12 = 0; - - /* "claude_top_level_library.pyx":86 - * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) - * for k in np.arange(1,nlevels): - * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) # <<<<<<<<<<<<<< - * - * # calculate downward longwave flux, bc is zero at TOA (in model) - */ - __pyx_t_12 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_upward_radiation), __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Subtract(__pyx_t_12, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_low_level); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_INCREF(__pyx_v_k); - __Pyx_GIVEREF(__pyx_v_k); - PyTuple_SET_ITEM(__pyx_t_18, 2, __pyx_v_k); - __pyx_t_12 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_16); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_16, function); - } - } - __pyx_t_4 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_18, __pyx_t_17) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = PyNumber_Multiply(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyInt_SubtractObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_1, 1, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_Subtract(__pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_upward_radiation), __pyx_v_k, __pyx_t_1) < 0)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":85 - * # calculate upward longwave flux, bc is thermal radiation at surface - * upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) - * for k in np.arange(1,nlevels): # <<<<<<<<<<<<<< - * upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) - * - */ - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":89 - * - * # calculate downward longwave flux, bc is zero at TOA (in model) - * downward_radiation[-1] = 0 # <<<<<<<<<<<<<< - * for k in np.arange(0,nlevels-1)[::-1]: - * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - */ - if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_downward_radiation), -1L, __pyx_int_0, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 89, __pyx_L1_error) - - /* "claude_top_level_library.pyx":90 - * # calculate downward longwave flux, bc is zero at TOA (in model) - * downward_radiation[-1] = 0 - * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< - * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_From_npy_long((__pyx_v_nlevels - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_0, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_int_0, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_16 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_13, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_13, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_slice__2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_14 = 0; - __pyx_t_15 = NULL; - } else { - __pyx_t_14 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 90, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_15)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_14); __Pyx_INCREF(__pyx_t_2); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 90, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_14); __Pyx_INCREF(__pyx_t_2); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 90, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_15(__pyx_t_3); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 90, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2); - __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":91 - * downward_radiation[-1] = 0 - * for k in np.arange(0,nlevels-1)[::-1]: - * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) # <<<<<<<<<<<<<< - * - * # gradient of difference provides heating at each level - */ - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_downward_radiation), __pyx_t_2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_low_level); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_thermal_radiation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_17); - __Pyx_INCREF(__pyx_v_k); - __Pyx_GIVEREF(__pyx_v_k); - PyTuple_SET_ITEM(__pyx_t_18, 2, __pyx_v_k); - __pyx_t_1 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_18, __pyx_t_17) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_17, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Subtract(__pyx_t_16, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_4, 1, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_optical_depth), __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_16, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_downward_radiation), __pyx_v_k, __pyx_t_2) < 0)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":90 - * # calculate downward longwave flux, bc is zero at TOA (in model) - * downward_radiation[-1] = 0 - * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< - * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - * - */ - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":94 - * - * # gradient of difference provides heating at each level - * for k in np.arange(nlevels): # <<<<<<<<<<<<<< - * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,k)/(1E3*density_profile[k]) - * # make sure model does not have a higher top than 50km!! - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_arange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlevels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_18, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_14 = 0; - __pyx_t_15 = NULL; - } else { - __pyx_t_14 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 94, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_15)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 94, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 94, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_15(__pyx_t_4); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 94, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3); - __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":95 - * # gradient of difference provides heating at each level - * for k in np.arange(nlevels): - * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,k)/(1E3*density_profile[k]) # <<<<<<<<<<<<<< - * # make sure model does not have a higher top than 50km!! - * # approximate SW heating of ozone - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_low_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_scalar_gradient_z_1D); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Subtract(((PyObject *)__pyx_v_upward_radiation), ((PyObject *)__pyx_v_downward_radiation)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) { - __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_18); - if (likely(__pyx_t_16)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); - __Pyx_INCREF(__pyx_t_16); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_18, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_18)) { - PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_t_2, ((PyObject *)__pyx_v_dz), __pyx_v_k}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { - PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_t_2, ((PyObject *)__pyx_v_dz), __pyx_v_k}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_17 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_16); __pyx_t_16 = NULL; - } - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_13, __pyx_t_2); - __Pyx_INCREF(((PyObject *)__pyx_v_dz)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dz)); - PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_13, ((PyObject *)__pyx_v_dz)); - __Pyx_INCREF(__pyx_v_k); - __Pyx_GIVEREF(__pyx_v_k); - PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_13, __pyx_v_k); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_17, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Negative(__pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_density_profile), __pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = PyNumber_Multiply(__pyx_float_1E3, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_t_17); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_Q), __pyx_v_k, __pyx_t_3) < 0)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":98 - * # make sure model does not have a higher top than 50km!! - * # approximate SW heating of ozone - * if heights[k] > 20E3: # <<<<<<<<<<<<<< - * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) - * - */ - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heights), __pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = PyObject_RichCompare(__pyx_t_3, __pyx_float_20E3, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_19) { - - /* "claude_top_level_library.pyx":99 - * # approximate SW heating of ozone - * if heights[k] > 20E3: - * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) # <<<<<<<<<<<<<< - * - * temperature_atmos[i,j,:] += Q*dt - */ - __Pyx_INCREF(__pyx_v_k); - __pyx_t_17 = __pyx_v_k; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_Q), __pyx_t_17); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_low_level); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_solar); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lon), __pyx_v_j, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyInt_From_npy_long(__pyx_v_t); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_20 = PyFloat_FromDouble(__pyx_v_day); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_22 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) { - __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_16); - if (likely(__pyx_t_23)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); - __Pyx_INCREF(__pyx_t_23); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_16, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_16)) { - PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_int_5, __pyx_t_2, __pyx_t_1, __pyx_t_12, __pyx_t_20, __pyx_t_21, __pyx_t_22}; - __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_13, 7+__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { - PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_int_5, __pyx_t_2, __pyx_t_1, __pyx_t_12, __pyx_t_20, __pyx_t_21, __pyx_t_22}; - __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_13, 7+__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } else - #endif - { - __pyx_t_24 = PyTuple_New(7+__pyx_t_13); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; - } - __Pyx_INCREF(__pyx_int_5); - __Pyx_GIVEREF(__pyx_int_5); - PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_13, __pyx_int_5); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_13, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_13, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_13, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_13, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_13, __pyx_t_21); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_13, __pyx_t_22); - __pyx_t_2 = 0; - __pyx_t_1 = 0; - __pyx_t_12 = 0; - __pyx_t_20 = 0; - __pyx_t_21 = 0; - __pyx_t_22 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_24, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heights), __pyx_v_k); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_24 = __Pyx_PyFloat_SubtractObjC(__pyx_t_16, __pyx_float_20E3, 20E3, 0, 0); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyFloat_DivideObjC(__pyx_t_24, __pyx_float_1E3, 1E3, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = PyNumber_Power(__pyx_t_16, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_24, __pyx_int_900); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = PyNumber_Multiply(__pyx_t_18, __pyx_t_16); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_24, __pyx_int_86400); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_16); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_Q), __pyx_t_17, __pyx_t_24) < 0)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - /* "claude_top_level_library.pyx":98 - * # make sure model does not have a higher top than 50km!! - * # approximate SW heating of ozone - * if heights[k] > 20E3: # <<<<<<<<<<<<<< - * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) - * - */ - } - - /* "claude_top_level_library.pyx":94 - * - * # gradient of difference provides heating at each level - * for k in np.arange(nlevels): # <<<<<<<<<<<<<< - * Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,k)/(1E3*density_profile[k]) - * # make sure model does not have a higher top than 50km!! - */ - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "claude_top_level_library.pyx":101 - * Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) - * - * temperature_atmos[i,j,:] += Q*dt # <<<<<<<<<<<<<< - * - * # update surface temperature with shortwave radiation flux - */ - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_24 = PyTuple_New(3); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_17); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_24, 2, __pyx_slice_); - __pyx_t_4 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_24); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_dt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = PyNumber_Multiply(((PyObject *)__pyx_v_Q), __pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_temperature_atmos), __pyx_t_24, __pyx_t_4) < 0)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - - /* "claude_top_level_library.pyx":104 - * - * # update surface temperature with shortwave radiation flux - * temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] # <<<<<<<<<<<<<< - * - * return temperature_world, temperature_atmos - */ - __pyx_t_24 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_4 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_24); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_4); - __pyx_t_24 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_24 = __Pyx_PyInt_From_npy_long(__pyx_v_dt); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_3); - __pyx_t_17 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_albedo), __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_3, 1, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_low_level); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_solar); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyFloat_FromDouble(__pyx_v_insolation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_21 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lat), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_20 = __Pyx_GetItemInt(((PyObject *)__pyx_v_lon), __pyx_v_j, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_12 = __Pyx_PyInt_From_npy_long(__pyx_v_t); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_23 = PyFloat_FromDouble(__pyx_v_axial_tilt); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_25 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) { - __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_22); - if (likely(__pyx_t_25)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); - __Pyx_INCREF(__pyx_t_25); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_22, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[8] = {__pyx_t_25, __pyx_t_17, __pyx_t_21, __pyx_t_20, __pyx_t_12, __pyx_t_1, __pyx_t_2, __pyx_t_23}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_13, 7+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[8] = {__pyx_t_25, __pyx_t_17, __pyx_t_21, __pyx_t_20, __pyx_t_12, __pyx_t_1, __pyx_t_2, __pyx_t_23}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_13, 7+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } else - #endif - { - __pyx_t_26 = PyTuple_New(7+__pyx_t_13); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_26); - if (__pyx_t_25) { - __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_25); __pyx_t_25 = NULL; - } - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_13, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_13, __pyx_t_21); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_13, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_13, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_26, 4+__pyx_t_13, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_26, 5+__pyx_t_13, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_26, 6+__pyx_t_13, __pyx_t_23); - __pyx_t_17 = 0; - __pyx_t_21 = 0; - __pyx_t_20 = 0; - __pyx_t_12 = 0; - __pyx_t_1 = 0; - __pyx_t_2 = 0; - __pyx_t_23 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_26, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - } - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_GetItemInt(((PyObject *)__pyx_v_downward_radiation), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_26 = PyNumber_Add(__pyx_t_3, __pyx_t_22); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_26); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = PyNumber_Multiply(__pyx_t_18, __pyx_t_26); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __pyx_t_26 = __Pyx_GetItemInt(((PyObject *)__pyx_v_upward_radiation), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_26); - __pyx_t_18 = PyNumber_Subtract(__pyx_t_22, __pyx_t_26); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __pyx_t_26 = PyNumber_Multiply(__pyx_t_24, __pyx_t_18); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_26); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_24 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_18); - __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_24); - __pyx_t_18 = 0; - __pyx_t_24 = 0; - __pyx_t_24 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_heat_capacity_earth), __pyx_t_22); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyNumber_Divide(__pyx_t_26, __pyx_t_24); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_22); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_temperature_world), __pyx_t_16, __pyx_t_24) < 0)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - } - - /* "claude_top_level_library.pyx":106 - * temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] - * - * return temperature_world, temperature_atmos # <<<<<<<<<<<<<< - * - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_INCREF(((PyObject *)__pyx_v_temperature_world)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_temperature_world)); - PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_v_temperature_world)); - __Pyx_INCREF(((PyObject *)__pyx_v_temperature_atmos)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_temperature_atmos)); - PyTuple_SET_ITEM(__pyx_t_16, 1, ((PyObject *)__pyx_v_temperature_atmos)); - __pyx_r = __pyx_t_16; - __pyx_t_16 = 0; - goto __pyx_L0; - - /* "claude_top_level_library.pyx":59 - * return output - * - * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * # calculate change in temperature of ground and atmosphere due to radiative imbalance - * cdef np.int_t nlat,nlon,nlevels,i,j - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_XDECREF(__pyx_t_25); - __Pyx_XDECREF(__pyx_t_26); - __Pyx_AddTraceback("claude_top_level_library.radiation_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_upward_radiation); - __Pyx_XDECREF((PyObject *)__pyx_v_downward_radiation); - __Pyx_XDECREF((PyObject *)__pyx_v_optical_depth); - __Pyx_XDECREF((PyObject *)__pyx_v_Q); - __Pyx_XDECREF((PyObject *)__pyx_v_pressure_profile); - __Pyx_XDECREF((PyObject *)__pyx_v_density_profile); - __Pyx_XDECREF(__pyx_v_k); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_top_level_library.pyx":108 - * return temperature_world, temperature_atmos - * - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): # <<<<<<<<<<<<<< - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_9velocity_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_9velocity_calculation = {"velocity_calculation", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_9velocity_calculation, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_9velocity_calculation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_u = 0; - PyArrayObject *__pyx_v_v = 0; - PyArrayObject *__pyx_v_air_pressure = 0; - PyArrayObject *__pyx_v_old_pressure = 0; - PyArrayObject *__pyx_v_air_density = 0; - PyArrayObject *__pyx_v_coriolis = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_gravity; - PyArrayObject *__pyx_v_dx = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dt; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("velocity_calculation (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_air_pressure,&__pyx_n_s_old_pressure,&__pyx_n_s_air_density,&__pyx_n_s_coriolis,&__pyx_n_s_gravity,&__pyx_n_s_dx,&__pyx_n_s_dy,&__pyx_n_s_dt,0}; - PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - CYTHON_FALLTHROUGH; - case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - CYTHON_FALLTHROUGH; - case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - CYTHON_FALLTHROUGH; - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 1); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_pressure)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 2); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_old_pressure)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 3); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_air_density)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 4); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coriolis)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 5); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 6: - if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gravity)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 6); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 7: - if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 7); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 8: - if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dy)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 8); __PYX_ERR(0, 108, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 9: - if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dt)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, 9); __PYX_ERR(0, 108, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "velocity_calculation") < 0)) __PYX_ERR(0, 108, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 10) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - } - __pyx_v_u = ((PyArrayObject *)values[0]); - __pyx_v_v = ((PyArrayObject *)values[1]); - __pyx_v_air_pressure = ((PyArrayObject *)values[2]); - __pyx_v_old_pressure = ((PyArrayObject *)values[3]); - __pyx_v_air_density = ((PyArrayObject *)values[4]); - __pyx_v_coriolis = ((PyArrayObject *)values[5]); - __pyx_v_gravity = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_gravity == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L3_error) - __pyx_v_dx = ((PyArrayObject *)values[7]); - __pyx_v_dy = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_dy == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L3_error) - __pyx_v_dt = __pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_dt == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("velocity_calculation", 1, 10, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 108, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.velocity_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_u), __pyx_ptype_5numpy_ndarray, 1, "u", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_v), __pyx_ptype_5numpy_ndarray, 1, "v", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_pressure), __pyx_ptype_5numpy_ndarray, 1, "air_pressure", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_old_pressure), __pyx_ptype_5numpy_ndarray, 1, "old_pressure", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_air_density), __pyx_ptype_5numpy_ndarray, 1, "air_density", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coriolis), __pyx_ptype_5numpy_ndarray, 1, "coriolis", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) __PYX_ERR(0, 108, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_8velocity_calculation(__pyx_self, __pyx_v_u, __pyx_v_v, __pyx_v_air_pressure, __pyx_v_old_pressure, __pyx_v_air_density, __pyx_v_coriolis, __pyx_v_gravity, __pyx_v_dx, __pyx_v_dy, __pyx_v_dt); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_8velocity_calculation(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_u, PyArrayObject *__pyx_v_v, PyArrayObject *__pyx_v_air_pressure, PyArrayObject *__pyx_v_old_pressure, PyArrayObject *__pyx_v_air_density, PyArrayObject *__pyx_v_coriolis, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_gravity, PyArrayObject *__pyx_v_dx, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dy, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_dt) { - PyArrayObject *__pyx_v_u_temp = 0; - PyArrayObject *__pyx_v_v_temp = 0; - PyArrayObject *__pyx_v_w_temp = 0; - __pyx_t_5numpy_int_t __pyx_v_nlat; - __pyx_t_5numpy_int_t __pyx_v_nlon; - __pyx_t_5numpy_int_t __pyx_v_nlevels; - __pyx_t_5numpy_int_t __pyx_v_i; - __pyx_t_5numpy_int_t __pyx_v_j; - __pyx_t_5numpy_int_t __pyx_v_k; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_density; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_inv_dt_grav; - PyArrayObject *__pyx_v_w = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - Py_ssize_t __pyx_t_9; - PyObject *(*__pyx_t_10)(PyObject *); - __pyx_t_5numpy_int_t __pyx_t_11; - __pyx_t_5numpy_int_t __pyx_t_12; - __pyx_t_5numpy_int_t __pyx_t_13; - __pyx_t_5numpy_int_t __pyx_t_14; - __pyx_t_5numpy_int_t __pyx_t_15; - __pyx_t_5numpy_int_t __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("velocity_calculation", 0); - __Pyx_INCREF((PyObject *)__pyx_v_u); - __Pyx_INCREF((PyObject *)__pyx_v_v); - - /* "claude_top_level_library.pyx":110 - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) # <<<<<<<<<<<<<< - * cdef np.ndarray v_temp = np.zeros_like(v) - * cdef np.ndarray w_temp = np.zeros_like(u) - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_u)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_u)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 110, __pyx_L1_error) - __pyx_v_u_temp = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":111 - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) - * cdef np.ndarray v_temp = np.zeros_like(v) # <<<<<<<<<<<<<< - * cdef np.ndarray w_temp = np.zeros_like(u) - * - */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_v)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_v)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 111, __pyx_L1_error) - __pyx_v_v_temp = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":112 - * cdef np.ndarray u_temp = np.zeros_like(u) - * cdef np.ndarray v_temp = np.zeros_like(v) - * cdef np.ndarray w_temp = np.zeros_like(u) # <<<<<<<<<<<<<< - * - * cdef np.int_t nlat,nlon,nlevels,i,j,k - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, ((PyObject *)__pyx_v_u)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_u)); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 112, __pyx_L1_error) - __pyx_v_w_temp = ((PyArrayObject *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":117 - * cdef DTYPE_f inv_density,inv_dt_grav - * - * nlat = air_pressure.shape[0] # <<<<<<<<<<<<<< - * nlon = air_pressure.shape[1] - * nlevels = air_pressure.shape[2] - */ - __pyx_v_nlat = (__pyx_v_air_pressure->dimensions[0]); - - /* "claude_top_level_library.pyx":118 - * - * nlat = air_pressure.shape[0] - * nlon = air_pressure.shape[1] # <<<<<<<<<<<<<< - * nlevels = air_pressure.shape[2] - * inv_dt_grav = 1/(dt*gravity) - */ - __pyx_v_nlon = (__pyx_v_air_pressure->dimensions[1]); - - /* "claude_top_level_library.pyx":119 - * nlat = air_pressure.shape[0] - * nlon = air_pressure.shape[1] - * nlevels = air_pressure.shape[2] # <<<<<<<<<<<<<< - * inv_dt_grav = 1/(dt*gravity) - * - */ - __pyx_v_nlevels = (__pyx_v_air_pressure->dimensions[2]); - - /* "claude_top_level_library.pyx":120 - * nlon = air_pressure.shape[1] - * nlevels = air_pressure.shape[2] - * inv_dt_grav = 1/(dt*gravity) # <<<<<<<<<<<<<< - * - * # calculate acceleration of atmosphere using primitive equations on beta-plane - */ - __pyx_t_4 = (__pyx_v_dt * __pyx_v_gravity); - if (unlikely(__pyx_t_4 == 0)) { - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - __PYX_ERR(0, 120, __pyx_L1_error) - } - __pyx_v_inv_dt_grav = (1.0 / __pyx_t_4); - - /* "claude_top_level_library.pyx":123 - * - * # calculate acceleration of atmosphere using primitive equations on beta-plane - * for i in np.arange(3,nlat-3).tolist(): # <<<<<<<<<<<<<< - * for j in range(nlon): - * for k in range(nlevels): - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_npy_long((__pyx_v_nlat - 3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_3, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_3, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_int_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tolist); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; - __pyx_t_10 = NULL; - } else { - __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_10)) { - if (likely(PyList_CheckExact(__pyx_t_5))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 123, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 123, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_10(__pyx_t_5); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 123, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __pyx_t_11 = __Pyx_PyInt_As_npy_long(__pyx_t_1); if (unlikely((__pyx_t_11 == ((npy_long)-1)) && PyErr_Occurred())) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_i = __pyx_t_11; - - /* "claude_top_level_library.pyx":124 - * # calculate acceleration of atmosphere using primitive equations on beta-plane - * for i in np.arange(3,nlat-3).tolist(): - * for j in range(nlon): # <<<<<<<<<<<<<< - * for k in range(nlevels): - * inv_density = 1/air_density[i,j,k] - */ - __pyx_t_11 = __pyx_v_nlon; - __pyx_t_12 = __pyx_t_11; - for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) { - __pyx_v_j = __pyx_t_13; - - /* "claude_top_level_library.pyx":125 - * for i in np.arange(3,nlat-3).tolist(): - * for j in range(nlon): - * for k in range(nlevels): # <<<<<<<<<<<<<< - * inv_density = 1/air_density[i,j,k] - * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)*inv_density ) - */ - __pyx_t_14 = __pyx_v_nlevels; - __pyx_t_15 = __pyx_t_14; - for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { - __pyx_v_k = __pyx_t_16; - - /* "claude_top_level_library.pyx":126 - * for j in range(nlon): - * for k in range(nlevels): - * inv_density = 1/air_density[i,j,k] # <<<<<<<<<<<<<< - * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)*inv_density ) - * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)*inv_density ) - */ - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_8); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_density), __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_int_1, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_4 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_inv_density = __pyx_t_4; - - /* "claude_top_level_library.pyx":127 - * for k in range(nlevels): - * inv_density = 1/air_density[i,j,k] - * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)*inv_density ) # <<<<<<<<<<<<<< - * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)*inv_density ) - * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])*inv_density*inv_dt_grav - */ - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_3); - __pyx_t_2 = 0; - __pyx_t_8 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_u_temp), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyFloat_FromDouble(__pyx_v_dt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = PyTuple_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_18, 2, __pyx_t_17); - __pyx_t_2 = 0; - __pyx_t_6 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_u), __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyNumber_Negative(__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_low_level); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_22 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_22)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_22); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[7] = {__pyx_t_22, ((PyObject *)__pyx_v_u), ((PyObject *)__pyx_v_dx), __pyx_t_6, __pyx_t_19, __pyx_t_20, __pyx_t_21}; - __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[7] = {__pyx_t_22, ((PyObject *)__pyx_v_u), ((PyObject *)__pyx_v_dx), __pyx_t_6, __pyx_t_19, __pyx_t_20, __pyx_t_21}; - __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } else - #endif - { - __pyx_t_23 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_u)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_u)); - PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_7, ((PyObject *)__pyx_v_u)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_7, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_7, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_7, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_7, __pyx_t_21); - __pyx_t_6 = 0; - __pyx_t_19 = 0; - __pyx_t_20 = 0; - __pyx_t_21 = 0; - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_23, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_t_18, __pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_18); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_t_23); - __pyx_t_17 = 0; - __pyx_t_18 = 0; - __pyx_t_23 = 0; - __pyx_t_23 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_v), __pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_low_level); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_20 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_22 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_24 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_24); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_24, ((PyObject *)__pyx_v_u), __pyx_t_18, __pyx_t_20, __pyx_t_19, __pyx_t_6, __pyx_t_22}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_24, ((PyObject *)__pyx_v_u), __pyx_t_18, __pyx_t_20, __pyx_t_19, __pyx_t_6, __pyx_t_22}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } else - #endif - { - __pyx_t_25 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - if (__pyx_t_24) { - __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_24); __pyx_t_24 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_u)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_u)); - PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_7, ((PyObject *)__pyx_v_u)); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_7, __pyx_t_18); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_7, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_7, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_7, __pyx_t_22); - __pyx_t_18 = 0; - __pyx_t_20 = 0; - __pyx_t_19 = 0; - __pyx_t_6 = 0; - __pyx_t_22 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_25, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - } - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Multiply(__pyx_t_23, __pyx_t_21); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyNumber_Subtract(__pyx_t_2, __pyx_t_17); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_GetItemInt(((PyObject *)__pyx_v_coriolis), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_22 = PyTuple_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_23); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_22, 2, __pyx_t_25); - __pyx_t_2 = 0; - __pyx_t_23 = 0; - __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_v), __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = PyNumber_Multiply(__pyx_t_17, __pyx_t_25); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyNumber_Add(__pyx_t_21, __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_low_level); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_19 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_19, ((PyObject *)__pyx_v_air_pressure), ((PyObject *)__pyx_v_dx), __pyx_t_21, __pyx_t_23, __pyx_t_2, __pyx_t_6}; - __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { - PyObject *__pyx_temp[7] = {__pyx_t_19, ((PyObject *)__pyx_v_air_pressure), ((PyObject *)__pyx_v_dx), __pyx_t_21, __pyx_t_23, __pyx_t_2, __pyx_t_6}; - __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_20 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_19) { - __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_air_pressure)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_air_pressure)); - PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_7, ((PyObject *)__pyx_v_air_pressure)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_7, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_7, __pyx_t_21); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_7, __pyx_t_23); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_7, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_7, __pyx_t_6); - __pyx_t_21 = 0; - __pyx_t_23 = 0; - __pyx_t_2 = 0; - __pyx_t_6 = 0; - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_20, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyFloat_FromDouble(__pyx_v_inv_density); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_20 = PyNumber_Multiply(__pyx_t_22, __pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_Subtract(__pyx_t_25, __pyx_t_20); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = PyNumber_Multiply(__pyx_t_8, __pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_20); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_u_temp), __pyx_t_1, __pyx_t_17) < 0)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":128 - * inv_density = 1/air_density[i,j,k] - * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)*inv_density ) - * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)*inv_density ) # <<<<<<<<<<<<<< - * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])*inv_density*inv_dt_grav - * - */ - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_20 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_20); - __pyx_t_1 = 0; - __pyx_t_17 = 0; - __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_v_temp), __pyx_t_3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_17 = PyFloat_FromDouble(__pyx_v_dt); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_22 = PyTuple_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_22, 2, __pyx_t_25); - __pyx_t_1 = 0; - __pyx_t_8 = 0; - __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_u), __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = PyNumber_Negative(__pyx_t_25); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_low_level); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_scalar_gradient_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_nlon); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_23 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_21 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_21)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_21); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[7] = {__pyx_t_21, ((PyObject *)__pyx_v_v), ((PyObject *)__pyx_v_dx), __pyx_t_8, __pyx_t_6, __pyx_t_2, __pyx_t_23}; - __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[7] = {__pyx_t_21, ((PyObject *)__pyx_v_v), ((PyObject *)__pyx_v_dx), __pyx_t_8, __pyx_t_6, __pyx_t_2, __pyx_t_23}; - __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } else - #endif - { - __pyx_t_19 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_21); __pyx_t_21 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_v)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_v)); - PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_7, ((PyObject *)__pyx_v_v)); - __Pyx_INCREF(((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_dx)); - PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_7, ((PyObject *)__pyx_v_dx)); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_7, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_7, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_7, __pyx_t_23); - __pyx_t_8 = 0; - __pyx_t_6 = 0; - __pyx_t_2 = 0; - __pyx_t_23 = 0; - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_19, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Multiply(__pyx_t_22, __pyx_t_25); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_22 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_23 = PyTuple_New(3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_25); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_22); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_t_19); - __pyx_t_25 = 0; - __pyx_t_22 = 0; - __pyx_t_19 = 0; - __pyx_t_19 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_v), __pyx_t_23); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_low_level); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_2 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_21 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_18 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_25))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_25); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_25, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_25)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_v), __pyx_t_22, __pyx_t_2, __pyx_t_6, __pyx_t_8, __pyx_t_21}; - __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_23); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { - PyObject *__pyx_temp[7] = {__pyx_t_18, ((PyObject *)__pyx_v_v), __pyx_t_22, __pyx_t_2, __pyx_t_6, __pyx_t_8, __pyx_t_21}; - __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_23); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } else - #endif - { - __pyx_t_24 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_v)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_v)); - PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_7, ((PyObject *)__pyx_v_v)); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_7, __pyx_t_22); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_7, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_7, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_21); - PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_7, __pyx_t_21); - __pyx_t_22 = 0; - __pyx_t_2 = 0; - __pyx_t_6 = 0; - __pyx_t_8 = 0; - __pyx_t_21 = 0; - __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_24, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyNumber_Multiply(__pyx_t_19, __pyx_t_23); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_23 = PyNumber_Subtract(__pyx_t_1, __pyx_t_25); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_GetItemInt(((PyObject *)__pyx_v_coriolis), __pyx_v_i, __pyx_t_5numpy_int_t, 1, __Pyx_PyInt_From_npy_long, 0, 1, 1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_24 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_t_24); - __pyx_t_1 = 0; - __pyx_t_19 = 0; - __pyx_t_24 = 0; - __pyx_t_24 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_u), __pyx_t_21); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyNumber_Multiply(__pyx_t_25, __pyx_t_24); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = PyNumber_Subtract(__pyx_t_23, __pyx_t_21); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_n_s_low_level); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_23, __pyx_n_s_scalar_gradient_y); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __pyx_t_23 = PyFloat_FromDouble(__pyx_v_dy); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_19 = __Pyx_PyInt_From_npy_long(__pyx_v_nlat); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_1 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_25))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_25); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_25, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_25)) { - PyObject *__pyx_temp[7] = {__pyx_t_2, ((PyObject *)__pyx_v_air_pressure), __pyx_t_23, __pyx_t_19, __pyx_t_1, __pyx_t_8, __pyx_t_6}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { - PyObject *__pyx_temp[7] = {__pyx_t_2, ((PyObject *)__pyx_v_air_pressure), __pyx_t_23, __pyx_t_19, __pyx_t_1, __pyx_t_8, __pyx_t_6}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_7, 6+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_22 = PyTuple_New(6+__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_air_pressure)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_air_pressure)); - PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_7, ((PyObject *)__pyx_v_air_pressure)); - __Pyx_GIVEREF(__pyx_t_23); - PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_7, __pyx_t_23); - __Pyx_GIVEREF(__pyx_t_19); - PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_7, __pyx_t_19); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_7, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_7, __pyx_t_8); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_7, __pyx_t_6); - __pyx_t_23 = 0; - __pyx_t_19 = 0; - __pyx_t_1 = 0; - __pyx_t_8 = 0; - __pyx_t_6 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_22, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyFloat_FromDouble(__pyx_v_inv_density); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_22 = PyNumber_Multiply(__pyx_t_21, __pyx_t_25); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyNumber_Subtract(__pyx_t_24, __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = PyNumber_Multiply(__pyx_t_17, __pyx_t_25); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyNumber_InPlaceAdd(__pyx_t_20, __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_v_temp), __pyx_t_3, __pyx_t_25) < 0)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":129 - * u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)*inv_density ) - * v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)*inv_density ) - * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])*inv_density*inv_dt_grav # <<<<<<<<<<<<<< - * - * u += u_temp - */ - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_22 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_20 = PyTuple_New(3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_t_25); - __Pyx_GIVEREF(__pyx_t_22); - PyTuple_SET_ITEM(__pyx_t_20, 2, __pyx_t_22); - __pyx_t_3 = 0; - __pyx_t_25 = 0; - __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_w_temp), __pyx_t_20); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_24 = PyTuple_New(3); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_25); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_24, 2, __pyx_t_17); - __pyx_t_25 = 0; - __pyx_t_3 = 0; - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_air_pressure), __pyx_t_24); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __pyx_t_24 = __Pyx_PyInt_From_npy_long(__pyx_v_i); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_3 = __Pyx_PyInt_From_npy_long(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_25 = __Pyx_PyInt_From_npy_long(__pyx_v_k); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_24); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_t_25); - __pyx_t_24 = 0; - __pyx_t_3 = 0; - __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_old_pressure), __pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyNumber_Subtract(__pyx_t_17, __pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = PyNumber_Negative(__pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyFloat_FromDouble(__pyx_v_inv_density); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_17 = PyNumber_Multiply(__pyx_t_25, __pyx_t_21); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyFloat_FromDouble(__pyx_v_inv_dt_grav); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_25 = PyNumber_Multiply(__pyx_t_17, __pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_t_22, __pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_w_temp), __pyx_t_20, __pyx_t_21) < 0)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - } - - /* "claude_top_level_library.pyx":123 - * - * # calculate acceleration of atmosphere using primitive equations on beta-plane - * for i in np.arange(3,nlat-3).tolist(): # <<<<<<<<<<<<<< - * for j in range(nlon): - * for k in range(nlevels): - */ - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "claude_top_level_library.pyx":131 - * w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])*inv_density*inv_dt_grav - * - * u += u_temp # <<<<<<<<<<<<<< - * v += v_temp - * w = w_temp - */ - __pyx_t_5 = PyNumber_InPlaceAdd(((PyObject *)__pyx_v_u), ((PyObject *)__pyx_v_u_temp)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_u, ((PyArrayObject *)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "claude_top_level_library.pyx":132 - * - * u += u_temp - * v += v_temp # <<<<<<<<<<<<<< - * w = w_temp - * - */ - __pyx_t_5 = PyNumber_InPlaceAdd(((PyObject *)__pyx_v_v), ((PyObject *)__pyx_v_v_temp)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_v, ((PyArrayObject *)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "claude_top_level_library.pyx":133 - * u += u_temp - * v += v_temp - * w = w_temp # <<<<<<<<<<<<<< - * - * # approximate friction - */ - __Pyx_INCREF(((PyObject *)__pyx_v_w_temp)); - __pyx_v_w = __pyx_v_w_temp; - - /* "claude_top_level_library.pyx":136 - * - * # approximate friction - * u *= 0.95 # <<<<<<<<<<<<<< - * v *= 0.95 - * - */ - __pyx_t_5 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_u), __pyx_float_0_95); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_u, ((PyArrayObject *)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "claude_top_level_library.pyx":137 - * # approximate friction - * u *= 0.95 - * v *= 0.95 # <<<<<<<<<<<<<< - * - * u[:,:,0] *= 0.8 - */ - __pyx_t_5 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_v), __pyx_float_0_95); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_v, ((PyArrayObject *)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "claude_top_level_library.pyx":139 - * v *= 0.95 - * - * u[:,:,0] *= 0.8 # <<<<<<<<<<<<<< - * v[:,:,0] *= 0.8 - * - */ - __Pyx_INCREF(__pyx_tuple__3); - __pyx_t_26 = __pyx_tuple__3; - __pyx_t_5 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_u), __pyx_t_26); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = PyNumber_InPlaceMultiply(__pyx_t_5, __pyx_float_0_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_u), __pyx_t_26, __pyx_t_20) < 0)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - - /* "claude_top_level_library.pyx":140 - * - * u[:,:,0] *= 0.8 - * v[:,:,0] *= 0.8 # <<<<<<<<<<<<<< - * - * return u,v,w - */ - __Pyx_INCREF(__pyx_tuple__3); - __pyx_t_26 = __pyx_tuple__3; - __pyx_t_20 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_v), __pyx_t_26); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_5 = PyNumber_InPlaceMultiply(__pyx_t_20, __pyx_float_0_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_v), __pyx_t_26, __pyx_t_5) < 0)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - - /* "claude_top_level_library.pyx":142 - * v[:,:,0] *= 0.8 - * - * return u,v,w # <<<<<<<<<<<<<< - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(((PyObject *)__pyx_v_u)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_u)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_u)); - __Pyx_INCREF(((PyObject *)__pyx_v_v)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_v)); - PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_v)); - __Pyx_INCREF(((PyObject *)__pyx_v_w)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_w)); - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - - /* "claude_top_level_library.pyx":108 - * return temperature_world, temperature_atmos - * - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): # <<<<<<<<<<<<<< - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_XDECREF(__pyx_t_25); - __Pyx_XDECREF(__pyx_t_26); - __Pyx_AddTraceback("claude_top_level_library.velocity_calculation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_u_temp); - __Pyx_XDECREF((PyObject *)__pyx_v_v_temp); - __Pyx_XDECREF((PyObject *)__pyx_v_w_temp); - __Pyx_XDECREF((PyObject *)__pyx_v_w); - __Pyx_XDECREF((PyObject *)__pyx_v_u); - __Pyx_XDECREF((PyObject *)__pyx_v_v); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "claude_top_level_library.pyx":144 - * return u,v,w - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): # <<<<<<<<<<<<<< - * nlat = a.shape[0] - * nlon = a.shape[1] - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_24claude_top_level_library_11smoothing_3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_24claude_top_level_library_11smoothing_3D = {"smoothing_3D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_24claude_top_level_library_11smoothing_3D, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_24claude_top_level_library_11smoothing_3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyArrayObject *__pyx_v_a = 0; - __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_smooth_parameter; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("smoothing_3D (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a,&__pyx_n_s_smooth_parameter,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_smooth_parameter)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("smoothing_3D", 1, 2, 2, 1); __PYX_ERR(0, 144, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "smoothing_3D") < 0)) __PYX_ERR(0, 144, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_a = ((PyArrayObject *)values[0]); - __pyx_v_smooth_parameter = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_smooth_parameter == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 144, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("smoothing_3D", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 144, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("claude_top_level_library.smoothing_3D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(0, 144, __pyx_L1_error) - __pyx_r = __pyx_pf_24claude_top_level_library_10smoothing_3D(__pyx_self, __pyx_v_a, __pyx_v_smooth_parameter); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_24claude_top_level_library_10smoothing_3D(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, __pyx_t_24claude_top_level_library_DTYPE_f __pyx_v_smooth_parameter) { - PyObject *__pyx_v_nlat = NULL; - PyObject *__pyx_v_nlon = NULL; - CYTHON_UNUSED npy_intp __pyx_v_nlevels; - PyObject *__pyx_v_test = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("smoothing_3D", 0); - - /* "claude_top_level_library.pyx":145 - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): - * nlat = a.shape[0] # <<<<<<<<<<<<<< - * nlon = a.shape[1] - * nlevels = a.shape[2] - */ - __pyx_t_1 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_a->dimensions[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_nlat = __pyx_t_1; - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":146 - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): - * nlat = a.shape[0] - * nlon = a.shape[1] # <<<<<<<<<<<<<< - * nlevels = a.shape[2] - * smooth_parameter *= 0.5 - */ - __pyx_t_1 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_a->dimensions[1])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_nlon = __pyx_t_1; - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":147 - * nlat = a.shape[0] - * nlon = a.shape[1] - * nlevels = a.shape[2] # <<<<<<<<<<<<<< - * smooth_parameter *= 0.5 - * test = np.fft.fftn(a) - */ - __pyx_v_nlevels = (__pyx_v_a->dimensions[2]); - - /* "claude_top_level_library.pyx":148 - * nlon = a.shape[1] - * nlevels = a.shape[2] - * smooth_parameter *= 0.5 # <<<<<<<<<<<<<< - * test = np.fft.fftn(a) - * test[int(nlat*smooth_parameter):int(nlat*(1-smooth_parameter)),:,:] = 0 - */ - __pyx_v_smooth_parameter = (__pyx_v_smooth_parameter * 0.5); - - /* "claude_top_level_library.pyx":149 - * nlevels = a.shape[2] - * smooth_parameter *= 0.5 - * test = np.fft.fftn(a) # <<<<<<<<<<<<<< - * test[int(nlat*smooth_parameter):int(nlat*(1-smooth_parameter)),:,:] = 0 - * test[:,int(nlon*smooth_parameter):int(nlon*(1-smooth_parameter)),:] = 0 - */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fft); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_fftn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_a)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_a)); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_test = __pyx_t_1; - __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":150 - * smooth_parameter *= 0.5 - * test = np.fft.fftn(a) - * test[int(nlat*smooth_parameter):int(nlat*(1-smooth_parameter)),:,:] = 0 # <<<<<<<<<<<<<< - * test[:,int(nlon*smooth_parameter):int(nlon*(1-smooth_parameter)),:] = 0 - * # test[:,:int(nlevels*smooth_parameter):int(nlevels*(1-smooth_parameter))] = 0 - */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_smooth_parameter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_Multiply(__pyx_v_nlat, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyFloat_FromDouble((1.0 - __pyx_v_smooth_parameter)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_nlat, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySlice_New(__pyx_t_1, __pyx_t_2, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_slice_); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_slice_); - __pyx_t_3 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_test, __pyx_t_2, __pyx_int_0) < 0)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "claude_top_level_library.pyx":151 - * test = np.fft.fftn(a) - * test[int(nlat*smooth_parameter):int(nlat*(1-smooth_parameter)),:,:] = 0 - * test[:,int(nlon*smooth_parameter):int(nlon*(1-smooth_parameter)),:] = 0 # <<<<<<<<<<<<<< - * # test[:,:int(nlevels*smooth_parameter):int(nlevels*(1-smooth_parameter))] = 0 - * return np.fft.ifftn(test).real - */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_smooth_parameter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_nlon, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyFloat_FromDouble((1.0 - __pyx_v_smooth_parameter)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nlon, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PySlice_New(__pyx_t_2, __pyx_t_3, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_slice_); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); - __Pyx_INCREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_slice_); - __pyx_t_1 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_test, __pyx_t_3, __pyx_int_0) < 0)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "claude_top_level_library.pyx":153 - * test[:,int(nlon*smooth_parameter):int(nlon*(1-smooth_parameter)),:] = 0 - * # test[:,:int(nlevels*smooth_parameter):int(nlevels*(1-smooth_parameter))] = 0 - * return np.fft.ifftn(test).real # <<<<<<<<<<<<<< - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fft); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ifftn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_v_test) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_test); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_real); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "claude_top_level_library.pyx":144 - * return u,v,w - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): # <<<<<<<<<<<<<< - * nlat = a.shape[0] - * nlon = a.shape[1] - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("claude_top_level_library.smoothing_3D", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_nlat); - __Pyx_XDECREF(__pyx_v_nlon); - __Pyx_XDECREF(__pyx_v_test); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 - * # experimental exception made for __getbuffer__ and __releasebuffer__ - * # -- the details of this may change. - * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< - * # This implementation of getbuffer is geared towards Cython - * # requirements, and does not yet fulfill the PEP. - */ - -/* Python wrapper */ -static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/ -static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); - __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { - int __pyx_v_i; - int __pyx_v_ndim; - int __pyx_v_endian_detector; - int __pyx_v_little_endian; - int __pyx_v_t; - char *__pyx_v_f; - PyArray_Descr *__pyx_v_descr = 0; - int __pyx_v_offset; - int __pyx_r; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyArray_Descr *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - char *__pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - if (__pyx_v_info == NULL) { - PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); - return -1; - } - __Pyx_RefNannySetupContext("__getbuffer__", 0); - __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(__pyx_v_info->obj); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":265 - * - * cdef int i, ndim - * cdef int endian_detector = 1 # <<<<<<<<<<<<<< - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * - */ - __pyx_v_endian_detector = 1; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":266 - * cdef int i, ndim - * cdef int endian_detector = 1 - * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< - * - * ndim = PyArray_NDIM(self) - */ - __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":268 - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * - * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - */ - __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L4_bool_binop_done; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":271 - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError(u"ndarray is not C contiguous") - * - */ - __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L4_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 272, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":270 - * ndim = PyArray_NDIM(self) - * - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L7_bool_binop_done; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":275 - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError(u"ndarray is not Fortran contiguous") - * - */ - __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L7_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< - * - * info.buf = PyArray_DATA(self) - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 276, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":274 - * raise ValueError(u"ndarray is not C contiguous") - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":278 - * raise ValueError(u"ndarray is not Fortran contiguous") - * - * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":279 - * - * info.buf = PyArray_DATA(self) - * info.ndim = ndim # <<<<<<<<<<<<<< - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * # Allocate new buffer for strides and shape info. - */ - __pyx_v_info->ndim = __pyx_v_ndim; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 - * info.buf = PyArray_DATA(self) - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - */ - __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":283 - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< - * info.shape = info.strides + ndim - * for i in range(ndim): - */ - __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":284 - * # This is allocated as one block, strides first. - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) - * info.shape = info.strides + ndim # <<<<<<<<<<<<<< - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] - */ - __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":285 - * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) - * info.shape = info.strides + ndim - * for i in range(ndim): # <<<<<<<<<<<<<< - * info.strides[i] = PyArray_STRIDES(self)[i] - * info.shape[i] = PyArray_DIMS(self)[i] - */ - __pyx_t_4 = __pyx_v_ndim; - __pyx_t_5 = __pyx_t_4; - for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { - __pyx_v_i = __pyx_t_6; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":286 - * info.shape = info.strides + ndim - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< - * info.shape[i] = PyArray_DIMS(self)[i] - * else: - */ - (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":287 - * for i in range(ndim): - * info.strides[i] = PyArray_STRIDES(self)[i] - * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< - * else: - * info.strides = PyArray_STRIDES(self) - */ - (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]); - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":280 - * info.buf = PyArray_DATA(self) - * info.ndim = ndim - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * # Allocate new buffer for strides and shape info. - * # This is allocated as one block, strides first. - */ - goto __pyx_L9; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":289 - * info.shape[i] = PyArray_DIMS(self)[i] - * else: - * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL - */ - /*else*/ { - __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":290 - * else: - * info.strides = PyArray_STRIDES(self) - * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) - */ - __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self)); - } - __pyx_L9:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":291 - * info.strides = PyArray_STRIDES(self) - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL # <<<<<<<<<<<<<< - * info.itemsize = PyArray_ITEMSIZE(self) - * info.readonly = not PyArray_ISWRITEABLE(self) - */ - __pyx_v_info->suboffsets = NULL; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":292 - * info.shape = PyArray_DIMS(self) - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< - * info.readonly = not PyArray_ISWRITEABLE(self) - * - */ - __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":293 - * info.suboffsets = NULL - * info.itemsize = PyArray_ITEMSIZE(self) - * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< - * - * cdef int t - */ - __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":296 - * - * cdef int t - * cdef char* f = NULL # <<<<<<<<<<<<<< - * cdef dtype descr = PyArray_DESCR(self) - * cdef int offset - */ - __pyx_v_f = NULL; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":297 - * cdef int t - * cdef char* f = NULL - * cdef dtype descr = PyArray_DESCR(self) # <<<<<<<<<<<<<< - * cdef int offset - * - */ - __pyx_t_7 = PyArray_DESCR(__pyx_v_self); - __pyx_t_3 = ((PyObject *)__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":300 - * cdef int offset - * - * info.obj = self # <<<<<<<<<<<<<< - * - * if not PyDataType_HASFIELDS(descr): - */ - __Pyx_INCREF(((PyObject *)__pyx_v_self)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); - __pyx_v_info->obj = ((PyObject *)__pyx_v_self); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 - * info.obj = self - * - * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - */ - __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":303 - * - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num # <<<<<<<<<<<<<< - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - */ - __pyx_t_4 = __pyx_v_descr->type_num; - __pyx_v_t = __pyx_t_4; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0); - if (!__pyx_t_2) { - goto __pyx_L15_next_or; - } else { - } - __pyx_t_2 = (__pyx_v_little_endian != 0); - if (!__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L14_bool_binop_done; - } - __pyx_L15_next_or:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":305 - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" - */ - __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0); - if (__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L14_bool_binop_done; - } - __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L14_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - if (unlikely(__pyx_t_1)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 306, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":304 - * if not PyDataType_HASFIELDS(descr): - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":307 - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" - */ - switch (__pyx_v_t) { - case NPY_BYTE: - __pyx_v_f = ((char *)"b"); - break; - case NPY_UBYTE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":308 - * raise ValueError(u"Non-native byte order not supported") - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" - */ - __pyx_v_f = ((char *)"B"); - break; - case NPY_SHORT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":309 - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" - */ - __pyx_v_f = ((char *)"h"); - break; - case NPY_USHORT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":310 - * elif t == NPY_UBYTE: f = "B" - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" - */ - __pyx_v_f = ((char *)"H"); - break; - case NPY_INT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":311 - * elif t == NPY_SHORT: f = "h" - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" - */ - __pyx_v_f = ((char *)"i"); - break; - case NPY_UINT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":312 - * elif t == NPY_USHORT: f = "H" - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" - */ - __pyx_v_f = ((char *)"I"); - break; - case NPY_LONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":313 - * elif t == NPY_INT: f = "i" - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" - */ - __pyx_v_f = ((char *)"l"); - break; - case NPY_ULONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":314 - * elif t == NPY_UINT: f = "I" - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" - */ - __pyx_v_f = ((char *)"L"); - break; - case NPY_LONGLONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":315 - * elif t == NPY_LONG: f = "l" - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" - */ - __pyx_v_f = ((char *)"q"); - break; - case NPY_ULONGLONG: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":316 - * elif t == NPY_ULONG: f = "L" - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" - */ - __pyx_v_f = ((char *)"Q"); - break; - case NPY_FLOAT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":317 - * elif t == NPY_LONGLONG: f = "q" - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" - */ - __pyx_v_f = ((char *)"f"); - break; - case NPY_DOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":318 - * elif t == NPY_ULONGLONG: f = "Q" - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" - */ - __pyx_v_f = ((char *)"d"); - break; - case NPY_LONGDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":319 - * elif t == NPY_FLOAT: f = "f" - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" - */ - __pyx_v_f = ((char *)"g"); - break; - case NPY_CFLOAT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":320 - * elif t == NPY_DOUBLE: f = "d" - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" - */ - __pyx_v_f = ((char *)"Zf"); - break; - case NPY_CDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":321 - * elif t == NPY_LONGDOUBLE: f = "g" - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< - * elif t == NPY_CLONGDOUBLE: f = "Zg" - * elif t == NPY_OBJECT: f = "O" - */ - __pyx_v_f = ((char *)"Zd"); - break; - case NPY_CLONGDOUBLE: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":322 - * elif t == NPY_CFLOAT: f = "Zf" - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< - * elif t == NPY_OBJECT: f = "O" - * else: - */ - __pyx_v_f = ((char *)"Zg"); - break; - case NPY_OBJECT: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":323 - * elif t == NPY_CDOUBLE: f = "Zd" - * elif t == NPY_CLONGDOUBLE: f = "Zg" - * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - */ - __pyx_v_f = ((char *)"O"); - break; - default: - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":325 - * elif t == NPY_OBJECT: f = "O" - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< - * info.format = f - * return - */ - __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 325, __pyx_L1_error) - break; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":326 - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * info.format = f # <<<<<<<<<<<<<< - * return - * else: - */ - __pyx_v_info->format = __pyx_v_f; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":327 - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * info.format = f - * return # <<<<<<<<<<<<<< - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) - */ - __pyx_r = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":302 - * info.obj = self - * - * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< - * t = descr.type_num - * if ((descr.byteorder == c'>' and little_endian) or - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":329 - * return - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 - */ - /*else*/ { - __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":330 - * else: - * info.format = PyObject_Malloc(_buffer_format_string_len) - * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<< - * offset = 0 - * f = _util_dtypestring(descr, info.format + 1, - */ - (__pyx_v_info->format[0]) = '^'; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":331 - * info.format = PyObject_Malloc(_buffer_format_string_len) - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 # <<<<<<<<<<<<<< - * f = _util_dtypestring(descr, info.format + 1, - * info.format + _buffer_format_string_len, - */ - __pyx_v_offset = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":332 - * info.format[0] = c'^' # Native data types, manual alignment - * offset = 0 - * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<< - * info.format + _buffer_format_string_len, - * &offset) - */ - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error) - __pyx_v_f = __pyx_t_9; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":335 - * info.format + _buffer_format_string_len, - * &offset) - * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<< - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - */ - (__pyx_v_f[0]) = '\x00'; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":258 - * # experimental exception made for __getbuffer__ and __releasebuffer__ - * # -- the details of this may change. - * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< - * # This implementation of getbuffer is geared towards Cython - * # requirements, and does not yet fulfill the PEP. - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - if (__pyx_v_info->obj != NULL) { - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; - } - goto __pyx_L2; - __pyx_L0:; - if (__pyx_v_info->obj == Py_None) { - __Pyx_GOTREF(__pyx_v_info->obj); - __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; - } - __pyx_L2:; - __Pyx_XDECREF((PyObject *)__pyx_v_descr); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 - * f[0] = c'\0' # Terminate format string - * - * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - */ - -/* Python wrapper */ -static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ -static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); - __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) { - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("__releasebuffer__", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":339 - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) # <<<<<<<<<<<<<< - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * PyObject_Free(info.strides) - */ - PyObject_Free(__pyx_v_info->format); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":338 - * - * def __releasebuffer__(ndarray self, Py_buffer* info): - * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * PyObject_Free(info.strides) - * # info.shape was stored after info.strides in the same block - */ - __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":341 - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * PyObject_Free(info.strides) # <<<<<<<<<<<<<< - * # info.shape was stored after info.strides in the same block - * - */ - PyObject_Free(__pyx_v_info->strides); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":340 - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< - * PyObject_Free(info.strides) - * # info.shape was stored after info.strides in the same block - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":337 - * f[0] = c'\0' # Terminate format string - * - * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< - * if PyArray_HASFIELDS(self): - * PyObject_Free(info.format) - */ - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":821 - * - * cdef inline object PyArray_MultiIterNew1(a): - * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew2(a, b): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":820 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":824 - * - * cdef inline object PyArray_MultiIterNew2(a, b): - * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":823 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":827 - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":826 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":830 - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":829 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":833 - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":832 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":837 - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape # <<<<<<<<<<<<<< - * else: - * return () - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); - __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":836 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":839 - * return d.subarray.shape - * else: - * return () # <<<<<<<<<<<<<< - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: - */ - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_empty_tuple); - __pyx_r = __pyx_empty_tuple; - goto __pyx_L0; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":835 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 - * return () - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< - * # Recursive utility function used in __getbuffer__ to get format - * # string. The new location in the format string is returned. - */ - -static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { - PyArray_Descr *__pyx_v_child = 0; - int __pyx_v_endian_detector; - int __pyx_v_little_endian; - PyObject *__pyx_v_fields = 0; - PyObject *__pyx_v_childname = NULL; - PyObject *__pyx_v_new_offset = NULL; - PyObject *__pyx_v_t = NULL; - char *__pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - long __pyx_t_8; - char *__pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_util_dtypestring", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":846 - * - * cdef dtype child - * cdef int endian_detector = 1 # <<<<<<<<<<<<<< - * cdef bint little_endian = ((&endian_detector)[0] != 0) - * cdef tuple fields - */ - __pyx_v_endian_detector = 1; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":847 - * cdef dtype child - * cdef int endian_detector = 1 - * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< - * cdef tuple fields - * - */ - __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 - * cdef tuple fields - * - * for childname in descr.names: # <<<<<<<<<<<<<< - * fields = descr.fields[childname] - * child, new_offset = fields - */ - if (unlikely(__pyx_v_descr->names == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(1, 850, __pyx_L1_error) - } - __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; - for (;;) { - if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":851 - * - * for childname in descr.names: - * fields = descr.fields[childname] # <<<<<<<<<<<<<< - * child, new_offset = fields - * - */ - if (unlikely(__pyx_v_descr->fields == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 851, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); - __pyx_t_3 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":852 - * for childname in descr.names: - * fields = descr.fields[childname] - * child, new_offset = fields # <<<<<<<<<<<<<< - * - * if (end - f) - (new_offset - offset[0]) < 15: - */ - if (likely(__pyx_v_fields != Py_None)) { - PyObject* sequence = __pyx_v_fields; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(1, 852, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error) - } - if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3)); - __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4); - __pyx_t_4 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 - * child, new_offset = fields - * - * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - */ - __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0); - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 - * - * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< - * - * if ((child.byteorder == c'>' and little_endian) or - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 855, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":854 - * child, new_offset = fields - * - * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0); - if (!__pyx_t_7) { - goto __pyx_L8_next_or; - } else { - } - __pyx_t_7 = (__pyx_v_little_endian != 0); - if (!__pyx_t_7) { - } else { - __pyx_t_6 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_L8_next_or:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":858 - * - * if ((child.byteorder == c'>' and little_endian) or - * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError(u"Non-native byte order not supported") - * # One could encode it in the format string and have Cython - */ - __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0); - if (__pyx_t_7) { - } else { - __pyx_t_6 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0); - __pyx_t_6 = __pyx_t_7; - __pyx_L7_bool_binop_done:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":859 - * if ((child.byteorder == c'>' and little_endian) or - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * # One could encode it in the format string and have Cython - * # complain instead, BUT: < and > in format strings also imply - */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(1, 859, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":857 - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") - * - * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<< - * (child.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":869 - * - * # Output padding bytes - * while offset[0] < new_offset: # <<<<<<<<<<<<<< - * f[0] = 120 # "x"; pad byte - * f += 1 - */ - while (1) { - __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_6) break; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":870 - * # Output padding bytes - * while offset[0] < new_offset: - * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< - * f += 1 - * offset[0] += 1 - */ - (__pyx_v_f[0]) = 0x78; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":871 - * while offset[0] < new_offset: - * f[0] = 120 # "x"; pad byte - * f += 1 # <<<<<<<<<<<<<< - * offset[0] += 1 - * - */ - __pyx_v_f = (__pyx_v_f + 1); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":872 - * f[0] = 120 # "x"; pad byte - * f += 1 - * offset[0] += 1 # <<<<<<<<<<<<<< - * - * offset[0] += child.itemsize - */ - __pyx_t_8 = 0; - (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1); - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":874 - * offset[0] += 1 - * - * offset[0] += child.itemsize # <<<<<<<<<<<<<< - * - * if not PyDataType_HASFIELDS(child): - */ - __pyx_t_8 = 0; - (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 - * offset[0] += child.itemsize - * - * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< - * t = child.type_num - * if end - f < 5: - */ - __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0); - if (__pyx_t_6) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":877 - * - * if not PyDataType_HASFIELDS(child): - * t = child.type_num # <<<<<<<<<<<<<< - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") - */ - __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); - __pyx_t_4 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 - * if not PyDataType_HASFIELDS(child): - * t = child.type_num - * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short.") - * - */ - __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0); - if (unlikely(__pyx_t_6)) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 - * t = child.type_num - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< - * - * # Until ticket #99 is fixed, use integers to avoid warnings - */ - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(1, 879, __pyx_L1_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":878 - * if not PyDataType_HASFIELDS(child): - * t = child.type_num - * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError(u"Format string allocated too short.") - * - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":882 - * - * # Until ticket #99 is fixed, use integers to avoid warnings - * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 98; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":883 - * # Until ticket #99 is fixed, use integers to avoid warnings - * if t == NPY_BYTE: f[0] = 98 #"b" - * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 66; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":884 - * if t == NPY_BYTE: f[0] = 98 #"b" - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x68; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":885 - * elif t == NPY_UBYTE: f[0] = 66 #"B" - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 72; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":886 - * elif t == NPY_SHORT: f[0] = 104 #"h" - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x69; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":887 - * elif t == NPY_USHORT: f[0] = 72 #"H" - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 73; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":888 - * elif t == NPY_INT: f[0] = 105 #"i" - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x6C; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":889 - * elif t == NPY_UINT: f[0] = 73 #"I" - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 76; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":890 - * elif t == NPY_LONG: f[0] = 108 #"l" - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x71; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":891 - * elif t == NPY_ULONG: f[0] = 76 #"L" - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 81; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":892 - * elif t == NPY_LONGLONG: f[0] = 113 #"q" - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x66; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":893 - * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x64; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":894 - * elif t == NPY_FLOAT: f[0] = 102 #"f" - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 0x67; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":895 - * elif t == NPY_DOUBLE: f[0] = 100 #"d" - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x66; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":896 - * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - * elif t == NPY_OBJECT: f[0] = 79 #"O" - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x64; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":897 - * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< - * elif t == NPY_OBJECT: f[0] = 79 #"O" - * else: - */ - __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - (__pyx_v_f[0]) = 90; - (__pyx_v_f[1]) = 0x67; - __pyx_v_f = (__pyx_v_f + 1); - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":898 - * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd - * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg - * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - */ - __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (likely(__pyx_t_6)) { - (__pyx_v_f[0]) = 79; - goto __pyx_L15; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":900 - * elif t == NPY_OBJECT: f[0] = 79 #"O" - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< - * f += 1 - * else: - */ - /*else*/ { - __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(1, 900, __pyx_L1_error) - } - __pyx_L15:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":901 - * else: - * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) - * f += 1 # <<<<<<<<<<<<<< - * else: - * # Cython ignores struct boundary information ("T{...}"), - */ - __pyx_v_f = (__pyx_v_f + 1); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":876 - * offset[0] += child.itemsize - * - * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< - * t = child.type_num - * if end - f < 5: - */ - goto __pyx_L13; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":905 - * # Cython ignores struct boundary information ("T{...}"), - * # so don't output it - * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< - * return f - * - */ - /*else*/ { - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error) - __pyx_v_f = __pyx_t_9; - } - __pyx_L13:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":850 - * cdef tuple fields - * - * for childname in descr.names: # <<<<<<<<<<<<<< - * fields = descr.fields[childname] - * child, new_offset = fields - */ - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":906 - * # so don't output it - * f = _util_dtypestring(child, f, end, offset) - * return f # <<<<<<<<<<<<<< - * - * - */ - __pyx_r = __pyx_v_f; - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":841 - * return () - * - * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< - * # Recursive utility function used in __getbuffer__ to get format - * # string. The new location in the format string is returned. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_child); - __Pyx_XDECREF(__pyx_v_fields); - __Pyx_XDECREF(__pyx_v_childname); - __Pyx_XDECREF(__pyx_v_new_offset); - __Pyx_XDECREF(__pyx_v_t); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - -static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("set_array_base", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1022 - * - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< - * PyArray_SetBaseObject(arr, base) - * - */ - Py_INCREF(__pyx_v_base); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1023 - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< - * - * cdef inline object get_array_base(ndarray arr): - */ - (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1021 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { - PyObject *__pyx_v_base; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_t_1; - __Pyx_RefNannySetupContext("get_array_base", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1026 - * - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< - * if base is NULL: - * return None - */ - __pyx_v_base = PyArray_BASE(__pyx_v_arr); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - __pyx_t_1 = ((__pyx_v_base == NULL) != 0); - if (__pyx_t_1) { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1028 - * base = PyArray_BASE(arr) - * if base is NULL: - * return None # <<<<<<<<<<<<<< - * return base - * - */ - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1027 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1029 - * if base is NULL: - * return None - * return base # <<<<<<<<<<<<<< - * - * # Versions of the import_* functions which are more suitable for - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_base)); - __pyx_r = ((PyObject *)__pyx_v_base); - goto __pyx_L0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1025 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * _import_array() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_array", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1035 - * cdef inline int import_array() except -1: - * try: - * _import_array() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") - */ - __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1036 - * try: - * _import_array() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.multiarray failed to import") - * - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 - * _import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1037, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1034 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * _import_array() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1033 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * _import_array() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_umath", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1041 - * cdef inline int import_umath() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1042 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - * - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1043, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1040 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1039 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { - int __pyx_r; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_ufunc", 0); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1047 - * cdef inline int import_ufunc() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error) - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1048 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - */ - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1049 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - */ - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(1, 1049, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1046 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_claude_top_level_library(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_claude_top_level_library}, - {0, NULL} -}; -#endif - -static struct PyModuleDef __pyx_moduledef = { - PyModuleDef_HEAD_INIT, - "claude_top_level_library", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ -}; -#endif -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0}, - {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0}, - {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, - {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0}, - {&__pyx_n_s_Q, __pyx_k_Q, sizeof(__pyx_k_Q), 0, 0, 1, 1}, - {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, - {&__pyx_n_s_air_density, __pyx_k_air_density, sizeof(__pyx_k_air_density), 0, 0, 1, 1}, - {&__pyx_n_s_air_pressure, __pyx_k_air_pressure, sizeof(__pyx_k_air_pressure), 0, 0, 1, 1}, - {&__pyx_n_s_albedo, __pyx_k_albedo, sizeof(__pyx_k_albedo), 0, 0, 1, 1}, - {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, - {&__pyx_n_s_au, __pyx_k_au, sizeof(__pyx_k_au), 0, 0, 1, 1}, - {&__pyx_n_s_av, __pyx_k_av, sizeof(__pyx_k_av), 0, 0, 1, 1}, - {&__pyx_n_s_aw, __pyx_k_aw, sizeof(__pyx_k_aw), 0, 0, 1, 1}, - {&__pyx_n_s_axial_tilt, __pyx_k_axial_tilt, sizeof(__pyx_k_axial_tilt), 0, 0, 1, 1}, - {&__pyx_n_s_claude_low_level_library, __pyx_k_claude_low_level_library, sizeof(__pyx_k_claude_low_level_library), 0, 0, 1, 1}, - {&__pyx_n_s_claude_top_level_library, __pyx_k_claude_top_level_library, sizeof(__pyx_k_claude_top_level_library), 0, 0, 1, 1}, - {&__pyx_kp_s_claude_top_level_library_pyx, __pyx_k_claude_top_level_library_pyx, sizeof(__pyx_k_claude_top_level_library_pyx), 0, 0, 1, 0}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_coriolis, __pyx_k_coriolis, sizeof(__pyx_k_coriolis), 0, 0, 1, 1}, - {&__pyx_n_s_day, __pyx_k_day, sizeof(__pyx_k_day), 0, 0, 1, 1}, - {&__pyx_n_s_density_profile, __pyx_k_density_profile, sizeof(__pyx_k_density_profile), 0, 0, 1, 1}, - {&__pyx_n_s_divergence_with_scalar, __pyx_k_divergence_with_scalar, sizeof(__pyx_k_divergence_with_scalar), 0, 0, 1, 1}, - {&__pyx_n_s_downward_radiation, __pyx_k_downward_radiation, sizeof(__pyx_k_downward_radiation), 0, 0, 1, 1}, - {&__pyx_n_s_dt, __pyx_k_dt, sizeof(__pyx_k_dt), 0, 0, 1, 1}, - {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1}, - {&__pyx_n_s_dy, __pyx_k_dy, sizeof(__pyx_k_dy), 0, 0, 1, 1}, - {&__pyx_n_s_dz, __pyx_k_dz, sizeof(__pyx_k_dz), 0, 0, 1, 1}, - {&__pyx_n_s_fft, __pyx_k_fft, sizeof(__pyx_k_fft), 0, 0, 1, 1}, - {&__pyx_n_s_fftn, __pyx_k_fftn, sizeof(__pyx_k_fftn), 0, 0, 1, 1}, - {&__pyx_n_s_fl, __pyx_k_fl, sizeof(__pyx_k_fl), 0, 0, 1, 1}, - {&__pyx_n_s_gravity, __pyx_k_gravity, sizeof(__pyx_k_gravity), 0, 0, 1, 1}, - {&__pyx_n_s_heat_capacity_earth, __pyx_k_heat_capacity_earth, sizeof(__pyx_k_heat_capacity_earth), 0, 0, 1, 1}, - {&__pyx_n_s_heights, __pyx_k_heights, sizeof(__pyx_k_heights), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_ifftn, __pyx_k_ifftn, sizeof(__pyx_k_ifftn), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_insolation, __pyx_k_insolation, sizeof(__pyx_k_insolation), 0, 0, 1, 1}, - {&__pyx_n_s_inv_density, __pyx_k_inv_density, sizeof(__pyx_k_inv_density), 0, 0, 1, 1}, - {&__pyx_n_s_inv_dt_grav, __pyx_k_inv_dt_grav, sizeof(__pyx_k_inv_dt_grav), 0, 0, 1, 1}, - {&__pyx_n_s_inv_dx, __pyx_k_inv_dx, sizeof(__pyx_k_inv_dx), 0, 0, 1, 1}, - {&__pyx_n_s_inv_dy, __pyx_k_inv_dy, sizeof(__pyx_k_inv_dy), 0, 0, 1, 1}, - {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, - {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1}, - {&__pyx_n_s_laplacian_2D, __pyx_k_laplacian_2D, sizeof(__pyx_k_laplacian_2D), 0, 0, 1, 1}, - {&__pyx_n_s_laplacian_3D, __pyx_k_laplacian_3D, sizeof(__pyx_k_laplacian_3D), 0, 0, 1, 1}, - {&__pyx_n_s_lat, __pyx_k_lat, sizeof(__pyx_k_lat), 0, 0, 1, 1}, - {&__pyx_n_s_lon, __pyx_k_lon, sizeof(__pyx_k_lon), 0, 0, 1, 1}, - {&__pyx_n_s_low_level, __pyx_k_low_level, sizeof(__pyx_k_low_level), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0}, - {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0}, - {&__pyx_n_s_nlat, __pyx_k_nlat, sizeof(__pyx_k_nlat), 0, 0, 1, 1}, - {&__pyx_n_s_nlevels, __pyx_k_nlevels, sizeof(__pyx_k_nlevels), 0, 0, 1, 1}, - {&__pyx_n_s_nlon, __pyx_k_nlon, sizeof(__pyx_k_nlon), 0, 0, 1, 1}, - {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, - {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, - {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, - {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, - {&__pyx_n_s_old_pressure, __pyx_k_old_pressure, sizeof(__pyx_k_old_pressure), 0, 0, 1, 1}, - {&__pyx_n_s_optical_depth, __pyx_k_optical_depth, sizeof(__pyx_k_optical_depth), 0, 0, 1, 1}, - {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1}, - {&__pyx_n_s_pressure_profile, __pyx_k_pressure_profile, sizeof(__pyx_k_pressure_profile), 0, 0, 1, 1}, - {&__pyx_n_s_radiation_calculation, __pyx_k_radiation_calculation, sizeof(__pyx_k_radiation_calculation), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_real, __pyx_k_real, sizeof(__pyx_k_real), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_x, __pyx_k_scalar_gradient_x, sizeof(__pyx_k_scalar_gradient_x), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_x_2D, __pyx_k_scalar_gradient_x_2D, sizeof(__pyx_k_scalar_gradient_x_2D), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_y, __pyx_k_scalar_gradient_y, sizeof(__pyx_k_scalar_gradient_y), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_y_2D, __pyx_k_scalar_gradient_y_2D, sizeof(__pyx_k_scalar_gradient_y_2D), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_z, __pyx_k_scalar_gradient_z, sizeof(__pyx_k_scalar_gradient_z), 0, 0, 1, 1}, - {&__pyx_n_s_scalar_gradient_z_1D, __pyx_k_scalar_gradient_z_1D, sizeof(__pyx_k_scalar_gradient_z_1D), 0, 0, 1, 1}, - {&__pyx_n_s_smooth_parameter, __pyx_k_smooth_parameter, sizeof(__pyx_k_smooth_parameter), 0, 0, 1, 1}, - {&__pyx_n_s_smoothing_3D, __pyx_k_smoothing_3D, sizeof(__pyx_k_smoothing_3D), 0, 0, 1, 1}, - {&__pyx_n_s_solar, __pyx_k_solar, sizeof(__pyx_k_solar), 0, 0, 1, 1}, - {&__pyx_n_s_sun_lat, __pyx_k_sun_lat, sizeof(__pyx_k_sun_lat), 0, 0, 1, 1}, - {&__pyx_n_s_surface_optical_depth, __pyx_k_surface_optical_depth, sizeof(__pyx_k_surface_optical_depth), 0, 0, 1, 1}, - {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1}, - {&__pyx_n_s_temperature_atmos, __pyx_k_temperature_atmos, sizeof(__pyx_k_temperature_atmos), 0, 0, 1, 1}, - {&__pyx_n_s_temperature_world, __pyx_k_temperature_world, sizeof(__pyx_k_temperature_world), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_test_2, __pyx_k_test_2, sizeof(__pyx_k_test_2), 0, 0, 1, 1}, - {&__pyx_n_s_thermal_radiation, __pyx_k_thermal_radiation, sizeof(__pyx_k_thermal_radiation), 0, 0, 1, 1}, - {&__pyx_n_s_tolist, __pyx_k_tolist, sizeof(__pyx_k_tolist), 0, 0, 1, 1}, - {&__pyx_n_s_u, __pyx_k_u, sizeof(__pyx_k_u), 0, 0, 1, 1}, - {&__pyx_n_s_u_temp, __pyx_k_u_temp, sizeof(__pyx_k_u_temp), 0, 0, 1, 1}, - {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0}, - {&__pyx_n_s_upward_radiation, __pyx_k_upward_radiation, sizeof(__pyx_k_upward_radiation), 0, 0, 1, 1}, - {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1}, - {&__pyx_n_s_v_temp, __pyx_k_v_temp, sizeof(__pyx_k_v_temp), 0, 0, 1, 1}, - {&__pyx_n_s_velocity_calculation, __pyx_k_velocity_calculation, sizeof(__pyx_k_velocity_calculation), 0, 0, 1, 1}, - {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, - {&__pyx_n_s_w_temp, __pyx_k_w_temp, sizeof(__pyx_k_w_temp), 0, 0, 1, 1}, - {&__pyx_n_s_year, __pyx_k_year, sizeof(__pyx_k_year), 0, 0, 1, 1}, - {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, - {&__pyx_n_s_zeros_like, __pyx_k_zeros_like, sizeof(__pyx_k_zeros_like), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} -}; -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 20, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error) - __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error) - __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "claude_top_level_library.pyx":79 - * for j in range(nlon): - * # calculate optical depth - * pressure_profile = air_pressure[i,j,:] # <<<<<<<<<<<<<< - * density_profile = air_density[i,j,:] - * optical_depth = sun_lat*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) - */ - __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice_); - __Pyx_GIVEREF(__pyx_slice_); - - /* "claude_top_level_library.pyx":90 - * # calculate downward longwave flux, bc is zero at TOA (in model) - * downward_radiation[-1] = 0 - * for k in np.arange(0,nlevels-1)[::-1]: # <<<<<<<<<<<<<< - * downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - * - */ - __pyx_slice__2 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__2)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice__2); - __Pyx_GIVEREF(__pyx_slice__2); - - /* "claude_top_level_library.pyx":139 - * v *= 0.95 - * - * u[:,:,0] *= 0.8 # <<<<<<<<<<<<<< - * v[:,:,0] *= 0.8 - * - */ - __pyx_tuple__3 = PyTuple_Pack(3, __pyx_slice_, __pyx_slice_, __pyx_int_0); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__3); - __Pyx_GIVEREF(__pyx_tuple__3); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":272 - * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): - * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< - * - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":276 - * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) - * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): - * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< - * - * info.buf = PyArray_DATA(self) - */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 276, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":306 - * if ((descr.byteorder == c'>' and little_endian) or - * (descr.byteorder == c'<' and not little_endian)): - * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< - * if t == NPY_BYTE: f = "b" - * elif t == NPY_UBYTE: f = "B" - */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":855 - * - * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< - * - * if ((child.byteorder == c'>' and little_endian) or - */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 855, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":879 - * t = child.type_num - * if end - f < 5: - * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< - * - * # Until ticket #99 is fixed, use integers to avoid warnings - */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1037 - * _import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 1037, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1043 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 1043, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__10); - __Pyx_GIVEREF(__pyx_tuple__10); - - /* "claude_top_level_library.pyx":11 - * - * # laplacian of scalar field a - * def laplacian_2D(np.ndarray a,np.ndarray dx,DTYPE_f dy): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,i,j - */ - __pyx_tuple__11 = PyTuple_Pack(10, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_output, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_inv_dx, __pyx_n_s_inv_dy); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__11); - __Pyx_GIVEREF(__pyx_tuple__11); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_laplacian_2D, 11, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 11, __pyx_L1_error) - - /* "claude_top_level_library.pyx":24 - * return output - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,nlevels,i,j,k - */ - __pyx_tuple__13 = PyTuple_Pack(13, __pyx_n_s_a, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_output, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_inv_dx, __pyx_n_s_inv_dy); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__13); - __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_laplacian_3D, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 24, __pyx_L1_error) - - /* "claude_top_level_library.pyx":40 - * - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - * def divergence_with_scalar(np.ndarray a,np.ndarray u,np.ndarray v,np.ndarray w,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.ndarray au, av, aw - */ - __pyx_tuple__15 = PyTuple_Pack(17, __pyx_n_s_a, __pyx_n_s_u, __pyx_n_s_v, __pyx_n_s_w, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_output, __pyx_n_s_au, __pyx_n_s_av, __pyx_n_s_aw, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__15); - __Pyx_GIVEREF(__pyx_tuple__15); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(7, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_divergence_with_scalar, 40, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 40, __pyx_L1_error) - - /* "claude_top_level_library.pyx":59 - * return output - * - * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * # calculate change in temperature of ground and atmosphere due to radiative imbalance - * cdef np.int_t nlat,nlon,nlevels,i,j - */ - __pyx_tuple__17 = PyTuple_Pack(30, __pyx_n_s_temperature_world, __pyx_n_s_temperature_atmos, __pyx_n_s_air_pressure, __pyx_n_s_air_density, __pyx_n_s_heat_capacity_earth, __pyx_n_s_albedo, __pyx_n_s_insolation, __pyx_n_s_lat, __pyx_n_s_lon, __pyx_n_s_heights, __pyx_n_s_dz, __pyx_n_s_t, __pyx_n_s_dt, __pyx_n_s_day, __pyx_n_s_year, __pyx_n_s_axial_tilt, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_fl, __pyx_n_s_upward_radiation, __pyx_n_s_downward_radiation, __pyx_n_s_optical_depth, __pyx_n_s_Q, __pyx_n_s_pressure_profile, __pyx_n_s_density_profile, __pyx_n_s_sun_lat, __pyx_n_s_k); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(16, 0, 30, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_radiation_calculation, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 59, __pyx_L1_error) - - /* "claude_top_level_library.pyx":108 - * return temperature_world, temperature_atmos - * - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): # <<<<<<<<<<<<<< - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) - */ - __pyx_tuple__19 = PyTuple_Pack(22, __pyx_n_s_u, __pyx_n_s_v, __pyx_n_s_air_pressure, __pyx_n_s_old_pressure, __pyx_n_s_air_density, __pyx_n_s_coriolis, __pyx_n_s_gravity, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dt, __pyx_n_s_u_temp, __pyx_n_s_v_temp, __pyx_n_s_w_temp, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_inv_density, __pyx_n_s_inv_dt_grav, __pyx_n_s_w); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__19); - __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(10, 0, 22, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_velocity_calculation, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 108, __pyx_L1_error) - - /* "claude_top_level_library.pyx":144 - * return u,v,w - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): # <<<<<<<<<<<<<< - * nlat = a.shape[0] - * nlon = a.shape[1] - */ - __pyx_tuple__21 = PyTuple_Pack(6, __pyx_n_s_a, __pyx_n_s_smooth_parameter, __pyx_n_s_nlat, __pyx_n_s_nlon, __pyx_n_s_nlevels, __pyx_n_s_test); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__21); - __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_claude_top_level_library_pyx, __pyx_n_s_smoothing_3D, 144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_float_0_8 = PyFloat_FromDouble(0.8); if (unlikely(!__pyx_float_0_8)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_float_1E3 = PyFloat_FromDouble(1E3); if (unlikely(!__pyx_float_1E3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_float_0_05 = PyFloat_FromDouble(0.05); if (unlikely(!__pyx_float_0_05)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_float_0_95 = PyFloat_FromDouble(0.95); if (unlikely(!__pyx_float_0_95)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_float_20E3 = PyFloat_FromDouble(20E3); if (unlikely(!__pyx_float_20E3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_900 = PyInt_FromLong(900); if (unlikely(!__pyx_int_900)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_86400 = PyInt_FromLong(86400L); if (unlikely(!__pyx_int_86400)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), - #else - sizeof(PyHeapTypeObject), - #endif - __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error) - __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error) - __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error) - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error) - __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initclaude_top_level_library(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initclaude_top_level_library(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_claude_top_level_library(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'claude_top_level_library' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_claude_top_level_library(void)", 0); - if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - #ifdef WITH_THREAD /* Python build with threading support? */ - PyEval_InitThreads(); - #endif - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("claude_top_level_library", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_b); - __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_cython_runtime); - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_claude_top_level_library) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "claude_top_level_library")) { - if (unlikely(PyDict_SetItemString(modules, "claude_top_level_library", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - (void)__Pyx_modinit_type_init_code(); - if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - /* "claude_top_level_library.pyx":3 - * # claude_top_level_library - * - * import claude_low_level_library as low_level # <<<<<<<<<<<<<< - * import numpy as np - * cimport numpy as np - */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_claude_low_level_library, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_low_level, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":4 - * - * import claude_low_level_library as low_level - * import numpy as np # <<<<<<<<<<<<<< - * cimport numpy as np - * cimport cython - */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":11 - * - * # laplacian of scalar field a - * def laplacian_2D(np.ndarray a,np.ndarray dx,DTYPE_f dy): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,i,j - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_1laplacian_2D, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_laplacian_2D, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":24 - * return output - * - * def laplacian_3D(np.ndarray a,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.int_t nlat,nlon,nlevels,i,j,k - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_3laplacian_3D, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_laplacian_3D, __pyx_t_1) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":40 - * - * # divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field - * def divergence_with_scalar(np.ndarray a,np.ndarray u,np.ndarray v,np.ndarray w,np.ndarray dx,DTYPE_f dy,np.ndarray dz): # <<<<<<<<<<<<<< - * cdef np.ndarray output = np.zeros_like(a) - * cdef np.ndarray au, av, aw - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_5divergence_with_scalar, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_divergence_with_scalar, __pyx_t_1) < 0) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":59 - * return output - * - * def radiation_calculation(np.ndarray temperature_world, np.ndarray temperature_atmos, np.ndarray air_pressure, np.ndarray air_density, np.ndarray heat_capacity_earth, np.ndarray albedo, DTYPE_f insolation, np.ndarray lat, np.ndarray lon, np.ndarray heights, np.ndarray dz, np.int_t t, np.int_t dt, DTYPE_f day, DTYPE_f year, DTYPE_f axial_tilt): # <<<<<<<<<<<<<< - * # calculate change in temperature of ground and atmosphere due to radiative imbalance - * cdef np.int_t nlat,nlon,nlevels,i,j - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_7radiation_calculation, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_radiation_calculation, __pyx_t_1) < 0) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":108 - * return temperature_world, temperature_atmos - * - * def velocity_calculation(np.ndarray u,np.ndarray v,np.ndarray air_pressure,np.ndarray old_pressure,np.ndarray air_density,np.ndarray coriolis,DTYPE_f gravity,np.ndarray dx,DTYPE_f dy,DTYPE_f dt): # <<<<<<<<<<<<<< - * # introduce temporary arrays to update velocity in the atmosphere - * cdef np.ndarray u_temp = np.zeros_like(u) - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_9velocity_calculation, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_velocity_calculation, __pyx_t_1) < 0) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":144 - * return u,v,w - * - * def smoothing_3D(np.ndarray a,DTYPE_f smooth_parameter): # <<<<<<<<<<<<<< - * nlat = a.shape[0] - * nlon = a.shape[1] - */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_24claude_top_level_library_11smoothing_3D, NULL, __pyx_n_s_claude_top_level_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_smoothing_3D, __pyx_t_1) < 0) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "claude_top_level_library.pyx":1 - * # claude_top_level_library # <<<<<<<<<<<<<< - * - * import claude_low_level_library as low_level - */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_2, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "../../../AppData/Local/Programs/Python/Python38/lib/site-packages/Cython/Includes/numpy/__init__.pxd":1045 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - if (__pyx_m) { - if (__pyx_d) { - __Pyx_AddTraceback("init claude_top_level_library", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - Py_CLEAR(__pyx_m); - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init claude_top_level_library"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); - if (unlikely(!result)) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* RaiseDoubleKeywords */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION >= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; - continue; - } - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = (**name == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - return -1; -} - -/* ArgTypeTest */ -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) -{ - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - else if (exact) { - #if PY_MAJOR_VERSION == 2 - if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; - #endif - } - else { - if (likely(__Pyx_TypeCheck(obj, type))) return 1; - } - PyErr_Format(PyExc_TypeError, - "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", - name, type->tp_name, Py_TYPE(obj)->tp_name); - return 0; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyCFunctionFastCall */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { - PyCFunctionObject *func = (PyCFunctionObject*)func_obj; - PyCFunction meth = PyCFunction_GET_FUNCTION(func); - PyObject *self = PyCFunction_GET_SELF(func); - int flags = PyCFunction_GET_FLAGS(func); - assert(PyCFunction_Check(func)); - assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); - assert(nargs >= 0); - assert(nargs == 0 || args != NULL); - /* _PyCFunction_FastCallDict() must not be called with an exception set, - because it may clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!PyErr_Occurred()); - if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { - return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); - } else { - return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); - } -} -#endif - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { - return NULL; - } - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = func->ob_type->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args, *result = NULL; - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyFunction_FastCall(function, args, 2); - } - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyCFunction_FastCall(function, args, 2); - } - #endif - args = PyTuple_New(2); - if (unlikely(!args)) goto done; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - Py_INCREF(function); - result = __Pyx_PyObject_Call(function, args, NULL); - Py_DECREF(args); - Py_DECREF(function); -done: - return result; -} - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = PyCFunction_GET_FUNCTION(func); - self = PyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallOneArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_New(1); - if (unlikely(!args)) return NULL; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, &arg, 1); - } -#endif - if (likely(PyCFunction_Check(func))) { - if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { - return __Pyx_PyObject_CallMethO(func, arg); -#if CYTHON_FAST_PYCCALL - } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { - return __Pyx_PyCFunction_FastCall(func, &arg, 1); -#endif - } - } - return __Pyx__PyObject_CallOneArg(func, arg); -} -#else -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_Pack(1, arg); - if (unlikely(!args)) return NULL; - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -#endif - -/* ExtTypeTest */ -static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - if (likely(__Pyx_TypeCheck(obj, type))) - return 1; - PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", - Py_TYPE(obj)->tp_name, type->tp_name); - return 0; -} - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ -#if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { - PyObject *runerr; - Py_ssize_t key_value; - PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; - if (unlikely(!(m && m->sq_item))) { - PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); - return NULL; - } - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { - PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; - if (likely(m && m->mp_subscript)) { - return m->mp_subscript(obj, key); - } - return __Pyx_PyObject_GetIndex(obj, key); -} -#endif - -/* SetItemInt */ -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { - int r; - if (!j) return -1; - r = PyObject_SetItem(o, j, v); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, - CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { - PyObject* old = PyList_GET_ITEM(o, n); - Py_INCREF(v); - PyList_SET_ITEM(o, n, v); - Py_DECREF(old); - return 1; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_ass_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return -1; - PyErr_Clear(); - } - } - return m->sq_ass_item(o, i, v); - } - } -#else -#if CYTHON_COMPILING_IN_PYPY - if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) -#else - if (is_list || PySequence_Check(o)) -#endif - { - return PySequence_SetItem(o, i, v); - } -#endif - return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a - b); - if (likely((x^a) >= 0 || (x^~b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - } - x = a - b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla - llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("subtract", return NULL) - result = ((double)a) - (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); -} -#endif - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op2))) { - const long a = intval; - long x; - long b = PyInt_AS_LONG(op2); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op2))) { - const long a = intval; - long b, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG lla = intval; - PY_LONG_LONG llb, llx; -#endif - const digit* digits = ((PyLongObject*)op2)->ob_digit; - const Py_ssize_t size = Py_SIZE(op2); - if (likely(__Pyx_sst_abs(size) <= 1)) { - b = likely(size) ? digits[0] : 0; - if (size == -1) b = -b; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op2)) { - const long a = intval; - double b = PyFloat_AS_DOUBLE(op2); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* PyFloatBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { - const double b = floatval; - double a, result; - (void)inplace; - (void)zerodivision_check; - if (likely(PyFloat_CheckExact(op1))) { - a = PyFloat_AS_DOUBLE(op1); - - } else - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - a = (double) PyInt_AS_LONG(op1); - - } else - #endif - if (likely(PyLong_CheckExact(op1))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - switch (size) { - case 0: a = 0.0; break; - case -1: a = -(double) digits[0]; break; - case 1: a = (double) digits[0]; break; - case -2: - case 2: - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { - a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -2) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -3: - case 3: - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { - a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -3) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -4: - case 4: - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { - a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -4) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - default: - #else - { - #endif - a = PyLong_AsDouble(op1); - if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; - - } - } else { - return (inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2)); - } - - PyFPE_START_PROTECT("divide", return NULL) - result = a / b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); -} -#endif - -/* PyFloatBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_SubtractObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { - const double b = floatval; - double a, result; - (void)inplace; - (void)zerodivision_check; - if (likely(PyFloat_CheckExact(op1))) { - a = PyFloat_AS_DOUBLE(op1); - - } else - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - a = (double) PyInt_AS_LONG(op1); - - } else - #endif - if (likely(PyLong_CheckExact(op1))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - switch (size) { - case 0: a = 0.0; break; - case -1: a = -(double) digits[0]; break; - case 1: a = (double) digits[0]; break; - case -2: - case 2: - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { - a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -2) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -3: - case 3: - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { - a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -3) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -4: - case 4: - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { - a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -4) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - default: - #else - { - #endif - a = PyLong_AsDouble(op1); - if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; - - } - } else { - return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); - } - - PyFPE_START_PROTECT("subtract", return NULL) - result = a - b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); -} -#endif - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op2))) { - const long a = intval; - long x; - long b = PyInt_AS_LONG(op2); - x = (long)((unsigned long)a - b); - if (likely((x^a) >= 0 || (x^~b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op2))) { - const long a = intval; - long b, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG lla = intval; - PY_LONG_LONG llb, llx; -#endif - const digit* digits = ((PyLongObject*)op2)->ob_digit; - const Py_ssize_t size = Py_SIZE(op2); - if (likely(__Pyx_sst_abs(size) <= 1)) { - b = likely(size) ? digits[0] : 0; - if (size == -1) b = -b; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - } - x = a - b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla - llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op2)) { - const long a = intval; - double b = PyFloat_AS_DOUBLE(op2); - double result; - PyFPE_START_PROTECT("subtract", return NULL) - result = ((double)a) - (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); -} -#endif - -/* PyObjectCallNoArg */ - #if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, NULL, 0); - } -#endif -#ifdef __Pyx_CyFunction_USED - if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) -#else - if (likely(PyCFunction_Check(func))) -#endif - { - if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { - return __Pyx_PyObject_CallMethO(func, NULL); - } - } - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); -} -#endif - -/* PyErrFetchRestore */ - #if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -} -#endif - -/* RaiseException */ - #if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - __Pyx_PyThreadState_declare - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* RaiseTooManyValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* RaiseNeedMoreValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* RaiseNoneIterError */ - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -} - -/* GetTopmostException */ - #if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ - #if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* PyErrExceptionMatches */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icurexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; - if (unlikely(PyTuple_Check(err))) - return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); -} -#endif - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* TypeImport */ - #ifndef __PYX_HAVE_RT_ImportType -#define __PYX_HAVE_RT_ImportType -static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, - size_t size, enum __Pyx_ImportType_CheckSize check_size) -{ - PyObject *result = 0; - char warning[200]; - Py_ssize_t basicsize; -#ifdef Py_LIMITED_API - PyObject *py_basicsize; -#endif - result = PyObject_GetAttrString(module, class_name); - if (!result) - goto bad; - if (!PyType_Check(result)) { - PyErr_Format(PyExc_TypeError, - "%.200s.%.200s is not a type object", - module_name, class_name); - goto bad; - } -#ifndef Py_LIMITED_API - basicsize = ((PyTypeObject *)result)->tp_basicsize; -#else - py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); - if (!py_basicsize) - goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; -#endif - if ((size_t)basicsize < size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - } - return (PyTypeObject *)result; -bad: - Py_XDECREF(result); - return NULL; -} -#endif - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *empty_list = 0; - PyObject *module = 0; - PyObject *global_dict = 0; - PyObject *empty_dict = 0; - PyObject *list; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (!py_import) - goto bad; - #endif - if (from_list) - list = from_list; - else { - empty_list = PyList_New(0); - if (!empty_list) - goto bad; - list = empty_list; - } - global_dict = PyModule_GetDict(__pyx_m); - if (!global_dict) - goto bad; - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, 1); - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_ImportError)) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (!py_level) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, level); - #endif - } - } -bad: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - Py_XDECREF(empty_list); - Py_XDECREF(empty_dict); - return module; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; - #if PY_MAJOR_VERSION < 3 - py_srcfile = PyString_FromString(filename); - #else - py_srcfile = PyUnicode_FromString(filename); - #endif - if (!py_srcfile) goto bad; - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - #else - py_funcname = PyUnicode_FromString(funcname); - #endif - } - if (!py_funcname) goto bad; - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - Py_DECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_srcfile); - Py_XDECREF(py_funcname); - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) goto bad; - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_npy_long(npy_long value) { - const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(npy_long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(npy_long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(npy_long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(npy_long), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) { - const Py_intptr_t neg_one = (Py_intptr_t) ((Py_intptr_t) 0 - (Py_intptr_t) 1), const_zero = (Py_intptr_t) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(Py_intptr_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(Py_intptr_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(Py_intptr_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(Py_intptr_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(Py_intptr_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(Py_intptr_t), - little, !is_unsigned); - } -} - -/* Declarations */ - #if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return ::std::complex< float >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ - #if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabsf(b.real) >= fabsf(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - float r = b.imag / b.real; - float s = (float)(1.0) / (b.real + b.imag * r); - return __pyx_t_float_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - float r = b.real / b.imag; - float s = (float)(1.0) / (b.imag + b.real * r); - return __pyx_t_float_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - float denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_float_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrtf(z.real*z.real + z.imag*z.imag); - #else - return hypotf(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - float denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_float(a, a); - case 3: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, a); - case 4: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if (b.imag == 0) { - z.real = powf(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2f(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_float(a); - theta = atan2f(a.imag, a.real); - } - lnr = logf(r); - z_r = expf(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cosf(z_theta); - z.imag = z_r * sinf(z_theta); - return z; - } - #endif -#endif - -/* Declarations */ - #if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return ::std::complex< double >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ - #if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabs(b.real) >= fabs(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - double r = b.imag / b.real; - double s = (double)(1.0) / (b.real + b.imag * r); - return __pyx_t_double_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - double r = b.real / b.imag; - double s = (double)(1.0) / (b.imag + b.real * r); - return __pyx_t_double_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - double denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_double_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrt(z.real*z.real + z.imag*z.imag); - #else - return hypot(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - double denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_double(a, a); - case 3: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, a); - case 4: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if (b.imag == 0) { - z.real = pow(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_double(a); - theta = atan2(a.imag, a.real); - } - lnr = log(r); - z_r = exp(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cos(z_theta); - z.imag = z_r * sin(z_theta); - return z; - } - #endif -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) { - const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0; - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(enum NPY_TYPES) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(enum NPY_TYPES) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES), - little, !is_unsigned); - } -} - -/* CIntFromPy */ - static CYTHON_INLINE npy_long __Pyx_PyInt_As_npy_long(PyObject *x) { - const npy_long neg_one = (npy_long) ((npy_long) 0 - (npy_long) 1), const_zero = (npy_long) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(npy_long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(npy_long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (npy_long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (npy_long) 0; - case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, digits[0]) - case 2: - if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 2 * PyLong_SHIFT) { - return (npy_long) (((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 3 * PyLong_SHIFT) { - return (npy_long) (((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) >= 4 * PyLong_SHIFT) { - return (npy_long) (((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (npy_long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(npy_long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (npy_long) 0; - case -1: __PYX_VERIFY_RETURN_INT(npy_long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(npy_long, digit, +digits[0]) - case -2: - if (8 * sizeof(npy_long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(npy_long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - return (npy_long) ((((((npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(npy_long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(npy_long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - return (npy_long) ((((((((npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(npy_long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 4 * PyLong_SHIFT) { - return (npy_long) (((npy_long)-1)*(((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(npy_long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(npy_long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(npy_long) - 1 > 4 * PyLong_SHIFT) { - return (npy_long) ((((((((((npy_long)digits[3]) << PyLong_SHIFT) | (npy_long)digits[2]) << PyLong_SHIFT) | (npy_long)digits[1]) << PyLong_SHIFT) | (npy_long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(npy_long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(npy_long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(npy_long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - npy_long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (npy_long) -1; - } - } else { - npy_long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (npy_long) -1; - val = __Pyx_PyInt_As_npy_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to npy_long"); - return (npy_long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to npy_long"); - return (npy_long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) - case -2: - if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int) -1; - } - } else { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) - case -2: - if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (long) -1; - } - } else { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = a->tp_base; - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; - if (!res) { - res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } - return res; -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; ip) { - #if PY_MAJOR_VERSION < 3 - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - #else - if (t->is_unicode | t->is_str) { - if (t->intern) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->encoding) { - *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); - } else { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); - } - } else { - *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); - } - #endif - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - ++t; - } - return 0; -} - -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type %.200s). " - "The ability to return an instance of a strict subclass of int " - "is deprecated, and may be removed in a future version of Python.", - Py_TYPE(result)->tp_name)) { - Py_DECREF(result); - return NULL; - } - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type %.200s)", - type_name, type_name, Py_TYPE(result)->tp_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)b)->ob_digit; - const Py_ssize_t size = Py_SIZE(b); - if (likely(__Pyx_sst_abs(size) <= 1)) { - ival = likely(size) ? digits[0] : 0; - if (size == -1) ival = -ival; - return ival; - } else { - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -#endif /* Py_PYTHON_H */ diff --git a/claude_top_level_library.cp38-win_amd64.pyd b/claude_top_level_library.cp38-win_amd64.pyd deleted file mode 100644 index e985b46545919a1df551d462d70e34639ac25016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157696 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 From d3de7b14c9e24d4d0a40eee27a1a5b1eb9182838 Mon Sep 17 00:00:00 2001 From: anothersimulacrum <42699974+anothersimulacrum@users.noreply.github.com> Date: Fri, 18 Sep 2020 09:10:15 -0700 Subject: [PATCH 09/17] Remove dead library files The content of these files were moved to the .pyx files of the same name, so they could be statically compiled by cython for improved performance. --- claude_low_level_library.py | 84 ------------------------------ claude_top_level_library.py | 101 ------------------------------------ 2 files changed, 185 deletions(-) delete mode 100644 claude_low_level_library.py delete mode 100644 claude_top_level_library.py diff --git a/claude_low_level_library.py b/claude_low_level_library.py deleted file mode 100644 index e81d5f8..0000000 --- a/claude_low_level_library.py +++ /dev/null @@ -1,84 +0,0 @@ -# claude low level library - -import numpy as np -cimport numpy as np - -ctypedef np.float64_t DTYPE_f -sigma = 5.67E-8 - -# define various useful differential functions: -# gradient of scalar field a in the local x direction at point i,j -def scalar_gradient_x(a,dx,nlon,i,j,k): - return (a[i,(j+1)%nlon,k]-a[i,(j-1)%nlon,k])/dx[i] - -def scalar_gradient_x_2D(a,dx,nlon,i,j) - return (a[i,(j+1)%nlon]-a[i,(j-1)%nlon])/dx[i] - -# gradient of scalar field a in the local y direction at point i,j -def scalar_gradient_y(a,dy,nlat,i,j,k): - if i == 0: - return 2*(a[i+1,j]-a[i,j])/dy - elif i == nlat-1: - return 2*(a[i,j]-a[i-1,j])/dy - else: - return (a[i+1,j]-a[i-1,j])/dy - -def scalar_gradient_y_2d(a,dy,nlat,i,j) - if i == 0: - return 2*(a[i+1,j]-a[i,j])/dy - elif i == nlat-1: - return 2*(a[i,j]-a[i-1,j])/dy - else: - return (a[i+1,j]-a[i-1,j])/dy - -def scalar_gradient_z(a,dz,i,j,k): - output = np.zeros_like(a) - nlevels = len(dz) - if output.ndim == 1: - if k == 0: - return (a[k+1]-a[k])/dz[k] - elif k == nlevels-1: - return (a[k]-a[k-1])/dz[k] - else: - return (a[k+1]-a[k-1])/(2*dz[k]) - else: - if k == 0: - return (a[i,j,k+1]-a[i,j,k])/dz[k] - elif k == nlevels-1: - return (a[i,j,k]-a[i,j,k-1])/dz[k] - else: - return (a[i,j,k+1]-a[i,j,k-1])/(2*dz[k]) - -def surface_optical_depth(lat): - return 4 + np.cos(lat*np.pi/90)*2.5/2 - -def thermal_radiation(a): - return sigma*(a**4) - -# power incident on (lat,lon) at time t -def solar(insolation, lat, lon, t, day, year, axial_tilt): - sun_longitude = -t % day - sun_longitude *= 360/day - sun_latitude = axial_tilt*np.cos(t*2*np.pi/year) - - value = insolation*np.cos((lat-sun_latitude)*np.pi/180) - - if value < 0: - return 0 - else: - - lon_diff = lon-sun_longitude - value *= np.cos(lon_diff*np.pi/180) - - if value < 0: - if lat + sun_latitude > 90: - return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) - elif lat + sun_latitude < -90: - return insolation*np.cos((lat+sun_latitude)*np.pi/180)*np.cos(lon_diff*np.pi/180) - else: - return 0 - else: - return value - -def profile(a): - return np.mean(np.mean(a,axis=0),axis=0) \ No newline at end of file diff --git a/claude_top_level_library.py b/claude_top_level_library.py deleted file mode 100644 index 79f6745..0000000 --- a/claude_top_level_library.py +++ /dev/null @@ -1,101 +0,0 @@ -# claude_top_level_library - -import claude_low_level_library as low_level -import numpy as np - -# laplacian of scalar field a -def laplacian(a): - output = np.zeros_like(a) - if output.ndim == 2: - for i in np.arange(1,nlat-1): - for j in range(nlon): - output[i,j] = (scalar_gradient_x_2D(a,i,(j+1)%nlon) - scalar_gradient_x_2D(a,i,(j-1)%nlon))/dx[i] + (scalar_gradient_y_2D(a,i+1,j) - scalar_gradient_y_2D(a,i-1,j))/dy - return output - if output.ndim == 3: - for i in np.arange(1,nlat-1): - for j in range(nlon): - for k in range(nlevels-1): - output[i,j,k] = (scalar_gradient_x(a,i,(j+1)%nlon,k) - scalar_gradient_x(a,i,(j-1)%nlon,k))/dx[i] + (scalar_gradient_y(a,i+1,j,k) - scalar_gradient_y(a,i-1,j,k))/dy + (scalar_gradient_z(a,i,j,k+1)-scalar_gradient_z(a,i,j,k-1))/(2*dz[k]) - return output - -# divergence of (a*u) where a is a scalar field and u is the atmospheric velocity field -def divergence_with_scalar(a,u,v,dx,dy): - output = np.zeros_like(a) - nlat, nlon, nlevels = output.shape[:] - - au = a*u - av = a*v - - for i in range(nlat): - for j in range(nlon): - for k in range(nlevels): - output[i,j,k] = low_level.scalar_gradient_x(au,dx,nlon,i,j,k) + low_level.scalar_gradient_y(av,dy,nlat,i,j,k) #+ 0.1*scalar_gradient_z(a*w,i,j,k) - return output - -def radiation_calculation(temperature_world, temperature_atmos, air_pressure, air_density, heat_capacity_earth, albedo, insolation, lat, lon, heights, dz, t, dt, day, year, axial_tilt): - # calculate change in temperature of ground and atmosphere due to radiative imbalance - nlat, nlon, nlevels = temperature_atmos.shape[:] - - upward_radiation = np.zeros(nlevels) - downward_radiation = np.zeros(nlevels) - optical_depth = np.zeros(nlevels) - Q = np.zeros(nlevels) - - for i in range(nlat): - for j in range(nlon): - # calculate optical depth - pressure_profile = air_pressure[i,j,:] - density_profile = air_density[i,j,:] - fl = 0.1 - optical_depth = low_level.surface_optical_depth(lat[i])*(fl*(pressure_profile/pressure_profile[0]) + (1-fl)*(pressure_profile/pressure_profile[0])**4) - - # calculate upward longwave flux, bc is thermal radiation at surface - upward_radiation[0] = low_level.thermal_radiation(temperature_world[i,j]) - for k in np.arange(1,nlevels): - upward_radiation[k] = (upward_radiation[k-1] - (optical_depth[k]-optical_depth[k-1])*(low_level.thermal_radiation(temperature_atmos[i,j,k])))/(1+optical_depth[k-1]-optical_depth[k]) - - # calculate downward longwave flux, bc is zero at TOA (in model) - downward_radiation[-1] = 0 - for k in np.arange(0,nlevels-1)[::-1]: - downward_radiation[k] = (downward_radiation[k+1] - low_level.thermal_radiation(temperature_atmos[i,j,k])*(optical_depth[k+1]-optical_depth[k]))/(1 + optical_depth[k] - optical_depth[k+1]) - - # gradient of difference provides heating at each level - for k in np.arange(nlevels): - Q[k] = -low_level.scalar_gradient_z_1D(upward_radiation-downward_radiation,dz,0,0,k)/(1E3*density_profile[k]) - # make sure model does not have a higher top than 50km!! - # approximate SW heating of ozone - if heights[k] > 20E3: - Q[k] += low_level.solar(5,lat[i],lon[j],t,day, year, axial_tilt)*((((heights[k]-20E3)/1E3)**2)/(30**2))/(24*60*60) - - temperature_atmos[i,j,:] += Q*dt - - # update surface temperature with shortwave radiation flux - temperature_world[i,j] += dt*((1-albedo[i,j])*(low_level.solar(insolation,lat[i],lon[j],t, day, year, axial_tilt) + downward_radiation[0]) - upward_radiation[0])/heat_capacity_earth[i,j] - - return temperature_world, temperature_atmos - -def velocity_calculation(u,v,air_pressure,old_pressure,air_density,coriolis,gravity,dx,dy,dt): - # introduce temporary arrays to update velocity in the atmosphere - u_temp = np.zeros_like(u) - v_temp = np.zeros_like(v) - w_temp = np.zeros_like(u) - - nlat,nlon,nlevels = air_pressure.shape[:] - - # calculate acceleration of atmosphere using primitive equations on beta-plane - for i in np.arange(1,nlat-1): - for j in range(nlon): - for k in range(nlevels): - u_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(u,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(u,dy,nlat,i,j,k) + coriolis[i]*v[i,j,k] - low_level.scalar_gradient_x(air_pressure,dx,nlon,i,j,k)/air_density[i,j,k] ) - v_temp[i,j,k] += dt*( -u[i,j,k]*low_level.scalar_gradient_x(v,dx,nlon,i,j,k) - v[i,j,k]*low_level.scalar_gradient_y(v,dy,nlat,i,j,k) - coriolis[i]*u[i,j,k] - low_level.scalar_gradient_y(air_pressure,dy,nlat,i,j,k)/air_density[i,j,k] ) - w_temp[i,j,k] += -(air_pressure[i,j,k]-old_pressure[i,j,k])/(dt*air_density[i,j,k]*gravity) - - u += u_temp - v += v_temp - w = w_temp - - # approximate friction - u *= 0.95 - v *= 0.95 - - return u,v,w \ No newline at end of file From c14339329e7f7aeac820bfe8fd1c88ba7c55bd07 Mon Sep 17 00:00:00 2001 From: anothersimulacrum <42699974+anothersimulacrum@users.noreply.github.com> Date: Fri, 18 Sep 2020 09:18:43 -0700 Subject: [PATCH 10/17] gitignore platform specific cython-generated files Prevent platform specific cython files from being tracked in repo in the future by adding them to a gitignore. The rules should be strict enough to avoid anything that shouldn't be blocked being blocked, but this also means that if more statically compiled files are added in the future, they may need to be added to the rules. --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 5ba6b74..f27d155 100644 --- a/.gitignore +++ b/.gitignore @@ -427,3 +427,8 @@ TSWLatexianTemp* *.glstex # End of https://www.toptal.com/developers/gitignore/api/python,tex + +# Platform specific - compiled python (through cython) +claude_*_level_library*.pyd +# and the code it's generated from +claude_*_level_library.c From 2c7d0dd3871e71835301c5f24ae28a61f0fd0c70 Mon Sep 17 00:00:00 2001 From: anothersimulacrum <42699974+anothersimulacrum@users.noreply.github.com> Date: Fri, 18 Sep 2020 12:04:47 -0700 Subject: [PATCH 11/17] Add some basic documentation on building Add instructions on building for Windows, OSX, and Linux. The instructions for operating systems other than Linux have not been tested, but are hopefully accurate enough as to not be useless. The Linux instructions were testing on Arch Linux and a fresh Ubuntu install. --- BUILDING.md | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 5 +- 2 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 BUILDING.md diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000..bd49a07 --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,176 @@ +# Running CLAuDE + +CLAuDE is built using Python and Cython, a utility which compiles python code into C to speed up execution. + +The basic steps to run the program are as follows: + +1. Use Cython to compile `claude_low_level_library` and `claude_top_level_library` +``` +python claude_setup.py build_ext --inplace +``` + +2. Run the model +``` +python ./toy_model.py +``` + +Below are more specific instructions to get setup for various operating systems. + +## Windows (not tested) + +As stated, these are not tested, but these are the hypothetical steps to set up and build CLAuDE on Windows. +Please report if these do or do not work, so documentation can be updated. + +### 1. Clone or download the repository +If you plan on contributing to this project, you will need to use git in some way to clone the project. Otherwise, simply selecting to download the repo will do. +Various git programs, such as [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop), [GitKraken](https://support.gitkraken.com/working-with-repositories/open-clone-init/), and [git from Windows](https://gitforwindows.org/) are available to clone the repository with git. Each of these provide different levels of features and different levels of complexity. + +### 2. Install Python, pip and a compiler +To build this project, you will need Python, a compiler for the C code that Cython generates, and several python libraries that will be installed with pip. +Pip is a package manager, a program which simplifies installation of software. + +You can install python from [it's website](https://www.python.org/downloads/windows/). + +If you do not already have pip installed, follow the instructions on the [pip website](https://pip.pypa.io/en/stable/installing/) to install it. + +#### Compiler +A compiler must then be installed. According to [the cython documentation](https://cython.readthedocs.io/en/latest/src/quickstart/install.html), you can use either [MinGW](https://osdn.net/projects/mingw/releases/) or Microsoft Visual C. +If you choose to use MinGW, follow the instructions in the [cython documentation](https://cython.readthedocs.io/en/latest/src/tutorial/appendix.html) to get it set up. +If you choose to use Microsoft Visual C/C++, follow the instructions on the [Python website](https://wiki.python.org/moin/WindowsCompilers) + +### 3. Use pip to install python libraries +Using command prompt, install the pip packages [cython](https://pypi.org/project/Cython/), [numpy](https://pypi.org/project/numpy/), and [matplotlib](https://pypi.org/project/matplotlib/), as well as [setuptools](https://pypi.org/project/setuptools/), if for some reason it is not already installed. +The syntax to install a package with pip is +``` +pip install PACKAGE +``` +Where `PACKAGE` is replaced with the name of the package. + +### 4. Using Cython, compile `claude_low_level_library` and `claude_top_level_library` +Simply open command prompt, navigate to directory containing this file, and run: +``` +python claude_setup.py build_ext --inplace +``` +This will convert the `.pyx` files in the repository to C files, then compile them. + +### 5. Run the model +Simply run in your command prompt, while in the directory containing this file. +``` +python toy_model.py +``` + +## Linux + +The following programs and libraries are required to build CLAuDE: + + - git (to clone the repository) + - python + - setuptools + - cython + - numpy + - matplotlib + +If you're using apt as your package manager, these correspond to the packages `git` `python3` `python3-setuptools` `cython3` `python3-numpy` `python3-matplotlib` + +### 1. Clone the repository. +Using the git command line, and cloning via https, this command will do it: +``` +git clone https://github.com/Planet-Factory/claude.git +``` +If using a GUI front-end for git, your method of doing it may vary. + +### 2. Using Cython, compile `claude_low_level_library` and `claude_top_level_library` +In your terminal, in the base `claude` directory, simply run +``` +python3 claude_setup.py build_ext --inplace +``` +This will convert the `.pyx` files in the repository to C files, then compile them. + +### 3. Run the model +In your terminal, run +``` +python3 ./toy_model.py +``` + +#### 2.1 Troubleshooting +For one reason or another, step 2 may fail. Here are some errors you might run in to: + +##### Python.h: no such file or directory + +This means that you did not install the equivalent of apt's `python3-dev` package - you only have python for running programs, but lack the necessary headers for developing with it. If you are using apt and install the packages listed above, this should not occur. + +##### some_other_file.h: no such file or directory + +This likely means that the compiler building the libraries is not being told to search the proper directories for header files to include. +One such case where this can happen is when you have libxcrypt installed, so Python.h includes ``, but setuptools does not tell the compiler where to search for that. +There is probably a proper solution to this, but I don't know it,so for now, you can work around this by telling it manually what to include. +To find the header you need to include, you can use `find`. +For example, with following error: +``` +/usr/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory + 44 | #include + | +``` +You need to find where the crypt.h header is to tell setuptools where to include it, so you can use find. +You can use find in the format `find dir/ -name "pattern"` to recursively search directories and get the full path of a the header file you are searching for. +If the #include has a directory included, use the directory which contains that directory. + +So for example, you use `find /usr -name "crypt.h"` to find the full path of the crypt.h header that Python.h is looking to include. +I got the output `/usr/include/tirpc/rpcsvc/crypt.h`, so now I know where that file is found, and I can instruct setuptools to include it. + +You instruct setuptools what directories to include with the `-I` option to the command, so in this case, it would be +``` +python3 claude_setup.py build_ext --inplace -I/usr/include/tirpc/rpcsvc/ +``` +Separate multiple includes with `:`, so including `/usr/include/foo` and `/usr/include/bar`, you do `-I/usr/include/foo:/usr/include/bar`. + +However, when you manually specify what directories to include, it will not automatically include numpy, so you will need to specify that too. You can wait until it gives you an error about that to find what you need to include. + +An actual example command is +``` +python claude_setup.py build_ext --inplace -I/usr/include/tirpc:/usr/include/tirpc/rpcsvc:/usr/lib/python3.8/site-packages/numpy/core/include +``` + +## OSX (not tested) + +As stated, these are not tested, but these are the hypothetical steps to set up and build CLAuDE on OSX. +Please report if these do or do not work, so documentation can be updated. + +### 1. Install HomeBrew +HomeBrew is a package manager, software which simplifies the installation of various software. +You can install HomeBrew from [it's website](https://brew.sh/). + +### 2. Clone the repository +Various git programs, such as [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop), [GitKraken](https://support.gitkraken.com/working-with-repositories/open-clone-init/), or just git are available to clone the repository. Each of these provide different levels of features and different levels of complexity. +git can be installed through homebrew using `brew install git`. +Using git, you can clone the repository via https with this command: +``` +git clone https://github.com/Planet-Factory/claude.git +``` + +### 3. Install dependencies +To build the project, you require `python`, as well as the python libraries `setuptools`, `cython`, `numpy`, and `matplotlib`. +First, use brew to install python: +``` +brew install python +``` +Then, use `pip`, a python package manager that is installed with python to install the other dependencies. +`setuptools` should automatically be included with pip, but if it is not, install it along with these packages. +``` +pip install cython +pip install numpy +pip install matplot lib +``` + +### 4. Using Cython, compile `claude_low_level_library` and `claude_top_level_library` +In your terminal, in the base `claude` directory, simply run +``` +python claude_setup.py build_ext --inplace +``` +This will convert the `.pyx` files in the repository to C files, then compile them. + +### 3. Run the model +In your terminal, run +``` +python ./toy_model.py +``` diff --git a/README.md b/README.md index 836570b..ad71b30 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,9 @@ simplistic model of atmospheric dynamics. Beyond these goals, we hope that it can become a useful resource for teachers and students discussing climate and atmospheric dynamics. +### Building +See the documentation on building in [BUILDING.md](https://github.com/Planet-Factory/claude/blob/master/BUILDING.md). + ### Community **Discord** @@ -35,4 +38,4 @@ If you think you'd enjoy this videos, you can watch him [here](https://www.youtu CLAuDE is currently being developed on Wednesday [Twitch](https://twitch.tv/drsimonclark) streams every week! ### Licensing -TODO: Add LICENSE \ No newline at end of file +TODO: Add LICENSE From 612dcb100b2f231beb84f4c0c7b8d04da5ba2864 Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Sat, 19 Sep 2020 19:58:38 +0200 Subject: [PATCH 12/17] Added in potential temperature --- tex-docs/CLAuDE.tex | 5 + tex-docs/figures/potential_temperature.jpg | Bin 0 -> 207040 bytes tex-docs/references.bib | 12 +++ tex-docs/topics/advection.tex | 115 ++++++++++++++++++++- tex-docs/topics/control_panel.tex | 44 ++++---- tex-docs/topics/radiation.tex | 20 ++-- tex-docs/topics/velocity.tex | 36 +++---- 7 files changed, 178 insertions(+), 54 deletions(-) create mode 100644 tex-docs/figures/potential_temperature.jpg diff --git a/tex-docs/CLAuDE.tex b/tex-docs/CLAuDE.tex index 1380d41..c56d761 100644 --- a/tex-docs/CLAuDE.tex +++ b/tex-docs/CLAuDE.tex @@ -10,6 +10,9 @@ \usepackage{float} \usepackage{verbatim} \usepackage[normalem]{ulem} +\usepackage{graphicx} +\usepackage{siunitx} + \setcounter{section}{-1} \title{CLimate Analysis using Digital Estimations Non-Offical Manual (CLAuDE NOM)} @@ -22,6 +25,8 @@ \tableofcontents +\newpage + \section{Introduction} The CLimate Analysis using Digital Estimations model is a simplified planetary climate model. It will be used to educate people on how climate physics works and to experiment with different diff --git a/tex-docs/figures/potential_temperature.jpg b/tex-docs/figures/potential_temperature.jpg new file mode 100644 index 0000000000000000000000000000000000000000..335ea9cef738c751108214df36eecd97a52edef3 GIT binary patch literal 207040 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 CP|xE4 literal 0 HcmV?d00001 diff --git a/tex-docs/references.bib b/tex-docs/references.bib index 3833360..ac25516 100644 --- a/tex-docs/references.bib +++ b/tex-docs/references.bib @@ -149,6 +149,18 @@ chapter={1}, pages={12} } +@inbook{thermalPotential, +place={Cambridge}, +edition={2nd}, +DOI={10.1017/9781107588417.003}, +title={Atmospheric and Oceanic Fluid Dynamics: Fundamentals and Large-Scale Circulation}, +publisher={Cambridge University Press}, +author={Vallis, Geoffrey K.}, +year={2017}, +chapter={1}, +pages={24} +} + %Calculus @inbook{areaCircle, place={Don Mills, Ont.}, diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index af8b21e..5caf015 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -36,9 +36,9 @@ With thermal diffusion in place, the temperature will spread out a bit, however going to change that. The advection equation is shown in \autoref{eq:advection}. The symbols are: \begin{itemize} - \item $\psi$: What is carried along (in our case temperature, $K$). - \item $t$: The time ($s$). - \item $u$: The fluid velocity vector ($ms^{-1}$). + \item $\psi$: What is carried along (in our case temperature, \si{K}). + \item $t$: The time (\si{s}). + \item $u$: The fluid velocity vector (\si{ms^{-1}}). \item $\nabla$: The divergence operator (as explained in \autoref{sec:laplace}). \end{itemize} @@ -113,4 +113,111 @@ First thing to mention is that vertical advection is still broken. Why? Because we calculate the difference from one layer to the other is by differencing them (subtracting) which is always finite. Therefore we always get some inaccuracies. Usually that is fine, but with an exponential function the differences, you guessed it, become exponentially wrong. As such, the function would eventually be so far off that the model would blow up. So we need to fix it. To prevent a blow up, we have disabled the call to the gradient $z$ function in \autoref{alg:divergence}. This ensures that the horizontal bits still work, but the vertical stuff does not. -As always, we will try to fix this in a future stream. \ No newline at end of file +As always, we will try to fix this in the future. + +\subsection{Adiabatic Motion} +Up until now, we have been moving air and the density of the atmosphere. However we have not transported any temperature yet. What this means is that if we have a packet of air (see it as a box +filled with air, but the box is invisible) $P$ which is at the planet surface. There $P$ has temperature $T_1$. If we then move $P$ to a layer higher up in the atmosphere, $P$ will still have +the same temperature, which is wrong because the density differs. Due to this difference, there is either more or less pressure applied to the box of air which means that $P$ will contract or +expand. This obviously changes it's temperature as the air molecules are closer together/further away from each other. Therefore the energy spread is different which affects the temperature. +For a visual representation, please consult \autoref{fig:thermal potential}. + +\begin{figure} + \centering + \includegraphics[width=0.9\textwidth]{figures/potential_temperature.jpg} + \caption{Visual representation of why we need Thermal Potential \cite{simon}.} + \label{fig:thermal potential} +\end{figure} + +As seen in \autoref{fig:thermal potential}, the packet of air (next to $T_1$) moves up into a higher layer of the atmosphere and ends up at the top (next to $T_2$). The packet has grown bigger, +as the density in that atmospheric layer is lower and hence the air expands. Because the same energy is in that packet, but it has expanded, the temperature of that packet drops which gives us +$T_2 < T_1$. The light blue graph in the background shows how the density behaves the higher you go, meaning at the far right (when we are at the highest point) the density is quite low and at +the far left (when we are at the planet surface) the density is quite high. The yellow graph shows the temperature of the air at that height, which behaves similarly to the density graph. + +Thermal potential or potential temperature, is the temperature that the packet of air would be if it is at the planet surface. So take the packet at $T_2$ in \autoref{fig:thermal potential}. If we move that down to the +surface, then it would be temperature $T$ which is then equal to the thermal potential. The equation corresponding to thermal potential is shown in \autoref{eq:thermal potential} +\cite{thermalPotential}. The symbols in \autoref{eq:thermal potential} mean: + +\begin{itemize} + \item $T$: The temperature of the packet of air (\si{K}). + \item $p_0$: Reference pressure, usually the pressure at the planet surface (\si{Pa}). + \item $p$: Pressure of the packet of air (\si{Pa}). + \item $R$: Gas constant as defined in \autoref{sec:gas constant} (\si{JK^{-1}mol^{-1}}). + \item $C_a$: Specific heat capacity of air at a constant pressure (\si{Jkg^{-1}K^{-1}}). +\end{itemize} + +\begin{subequations} + \begin{equation} + \theta = T(\frac{p_0}{p})^{\frac{R}{C_a}} + \label{eq:thermal potential} + \end{equation} + \begin{equation} + T = \theta(\frac{p}{p_0})^{\frac{R}{C_a}} + \label{eq:potential temp} + \end{equation} +\end{subequations} + +If we now re-arrange \autoref{eq:thermal potential} so that we have $T$ on one side and the rest on the other side, we get \autoref{eq:potential temp}. With this we can convert temperature into +potential temperature and vice versa. The whole process of moving temperature around is called adiabatic motion. Now it is time to get this into code. For this to work we need to translate both +\autoref{eq:thermal potential} and \autoref{eq:potential temp} into code and create an overarching function that calls the previously mentioned equations. Let us start with +\autoref{eq:thermal potential} which is described in \autoref{alg:temp to pot}. Note that $\frac{R}{C_a}$ does not change as they are constants, therefore we can precompute them which saves quite +a bit of time (namely $O(n^3)$ divisions, where $n$ is the length of each dimension of $T_a$). Also note that we can inverse the process by inserting a minus in the exponent and swapping $T_a$ +and $\theta$, which can easily be done in the call to \autoref{alg:temp to pot}. + +\begin{algorithm} + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{temperature of the atmosphere $T_a$, air pressure $p$, boolean $back$} + \Output{potential temperature $\theta$} + \uIf{$back$}{ + $\kappa \leftarrow -\frac{R}{C_a}$ \; + }\uElse{ + $\kappa \leftarrow \frac{R}{C_a}$ \; + } + \For{$i \leftarrow 0$ \KwTo $T_a.length$}{ + \For{$j \leftarrow 0$ \KwTo $T_a[i].length$}{ + $p_0 \leftarrow p[i, j 0]$ \; + \For{$k \leftarrow 0$ \KwTo $T_a[i, j].length$}{ + $\theta[i, j, k] \leftarrow T_a[i, j, k] (\frac{p[i, j, k]}{p_0})^{\kappa}$ + } + } + } + \Return{$\theta$} + \caption{Converting temperature into potential temperature} + \label{alg:temp to pot} +\end{algorithm} + +With that done we now only need to create the overarching function that will call \autoref{alg:temp to pot}. This function will be based on \autoref{alg:divergence} as it is quite similar for +what we need to do, however we need to replace a call so we do need to make it a seperate function. Let us do that in \autoref{alg:thermal pot}. Here \texttt{TToTheta} represents the call to +\autoref{alg:temp to pot}. + +\begin{algorithm}[!hbt] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \Input{temperature of the atmosphere $T_a$, pressure $p$} + \Output{temperature of the atmosphere after advection $output$} + $\theta \leftarrow $ \texttt{TToTheta}($T_a, p,$ \texttt{FALSE}) \; + \For{$i \leftarrow 0$ \KwTo $a.length$}{ + \For{$j \leftarrow 0$ \KwTo $a[i].length$}{ + \For{$k \leftarrow 0$ \KwTo $a[i, j].length$}{ + $output[i, j, k] \leftarrow \Delta_x(\theta u, i, j, k) + \Delta_y(\theta v, i, j, k) + \Delta_z(\theta w, i, j, k)$ \; + } + } + } + $output \leftarrow $ \texttt{TToTheta}($output, p,$ \texttt{TRUE}) \; + \Return{$output$} \; + \caption{Calculate the result of the thermal advection} + \label{alg:thermal pot} +\end{algorithm} + +Now we only need to do one more thing, replace the algorithm that calculates $T_a$ as a result of advection. Let us do that in \autoref{alg:advection pot}, where \texttt{ThermalAdv} is the call +to \autoref{alg:thermal pot}. + +\begin{algorithm} + $T_{add} \leftarrow T_a + $ \texttt{ThermalAdv}$(T_a, p)$\; + $T_a \leftarrow T_a - 0.5T_{add}[adv\_boun:-adv\_boun, :, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$. \; + $\rho[adv\_boun: -adv\_boun, :, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$ \; + $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; + \caption{The main calculations for calculating the effects of advection} + \label{alg:advection pot} +\end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/control_panel.tex b/tex-docs/topics/control_panel.tex index 2eeb64c..2746f9a 100644 --- a/tex-docs/topics/control_panel.tex +++ b/tex-docs/topics/control_panel.tex @@ -11,7 +11,7 @@ do that we start with the fixed part of the Control Panel, the physical constant gravity is, how fast they spin around their axis and many many more. What does not change are the physical constants, well because they are constant. The Stefan-Boltzmann constant for instance does not change. Whether you are on Earth, in space or on Jupiter, the value of the Stefan-Boltzmann constant will remain the same. -The Stefan-Boltzmann constant is denoted by $\sigma$ and has a value of $5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann}. The $\sigma$ is a greek letter called sigma. Greek +The Stefan-Boltzmann constant is denoted by $\sigma$ and has a value of $5.670373 \cdot 10^-8$ (\si{Wm^{-2}K^{-4}}) \cite{stefan-boltzmann}. The $\sigma$ is a greek letter called sigma. Greek letters are often used in mathematics, as well as in physics or any other discipline that relies on maths (spoiler alert, quite a lot). Treat it like a normal letter in maths, representing a number that you either do not know yet or is too long or cumbersome to write down every time. The Stefan-Boltzmann constant is denoted in scientific notation, a number followed by the order of magnitude. It is denoted as a multiplication, because that is what you have to do to get the real number. An example: $4.3 \cdot 10^2 = 430$ and $4.3 \cdot 10^{-2} = 0.043$. The @@ -21,29 +21,29 @@ letters you will find the following: [number]. This is a citation, a reference t citation to show that I am not making these numbers up. This is what scientists use to back up their claims if they do not want to redo the work that others have done. I mean what is the point of re-inventing the wheel if there is a tyre company next door? That is why scientists citate. -So with that out of the way, let us write down some constants. Why do I do this here? Because a lot of constants are used everywhere and I am too lazy to relicate them every time. If you see a +So with that out of the way, let us write down some constants. Why do I do this here? Because a lot of constants are used everywhere and I am too lazy to replicate them every time. If you see a letter or symbol that is not explicitly explained, then it is most likely a constant that we discuss here in the control panel. \subsection{Physical Constants} As mentioned before, physical constants do not change based on where you are in the universe. Below you will find an overview of all the relevant constants together with their units. And a short explanation where they are used or what they represent. To see them in action, consult the other sections of this manual, you will find them in equations all throughout this document. -\subsubsection{The Gas Constant} -The Gas constant, $R = 8.3144621$ ($J(mol)^{-1}K$) \cite{idealGas} is the constant used to relate the temperature of the gas to the pressure and the volume. One would expect this constant to be +\subsubsection{The Gas Constant} \label{sec:gas constant} +The Gas constant, $R = 8.3144621$ (\si{JK^{-1}mol^{-1}}) \cite{idealGas} is the constant used to relate the temperature of the gas to the pressure and the volume. One would expect this constant to be different per gas, but under high enough temperatures and low enough pressure the gas constant is the same for all gases. \subsubsection{The Specific Heat Capacity} -The specific heat capacity $c$ depicts how much energy is required to heat the object by one degree Kelvin per unit mass ($\frac{J}{Kg \cdot K}$) \cite{specificHeat}. This varies per material -and is usually indicated by a subscript. The specific heat capacity for water for instance is $c_w = 4190 JKg^{-1}K^{-1}$. Specific heat capacities also exist in the form of $Jg^{-1}K^{-1}$, -$Jmol^{-1}K^{-1}$ and $Jcm^{-3}K^{-1}$ which you can use in various circumstances, depending on what information you have. +The specific heat capacity $c$ depicts how much energy is required to heat the object by one degree Kelvin per unit mass (\si{Jkg^{-1}K^{-1}}) \cite{specificHeat}. This varies per material +and is usually indicated by a subscript. The specific heat capacity for water for instance is $c_w = 4190$ \si{Jkg^{-1}K^{-1}}. Specific heat capacities also exist in the form of +\si{Jkg^{-1}K^{-1}}, \si{Jmol^{-1}K^{-1}} and \si{Jcm^{-3}K^{-1}} which you can use in various circumstances, depending on what information you have. \subsubsection{Mole} Mole is the amount of particles ($6.02214076 \cdot 10^{23}$) in a substance, where the average weight of one mole of particles in grams is about the same as the weight of one particle in atomic -mass units ($u$)\cite{mole}. This is not a physical constant perse, but more like a unit ($mol$). Though it is still important enough to be added here for future reference. All other units are +mass units (\si{u})\cite{mole}. This is not a physical constant perse, but more like a unit (\si{mol}). Though it is still important enough to be added here for future reference. All other units are way more intuitive and are assumed to be known. \subsubsection{The Stefan-Boltzmann Constant} -The Stefan-Boltzmann constant, $\sigma = 5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann} is used in the Stefan-Boltzmann law (more on that in \autoref{sec:first thermolaw}). +The Stefan-Boltzmann constant, $\sigma = 5.670373 \cdot 10^-8$ \si{Wm^{-2}K^{-4})} \cite{stefan-boltzmann} is used in the Stefan-Boltzmann law (more on that in \autoref{sec:first thermolaw}). \subsection{Planet Specific Variables} The following set of variables vary per planet, that's why we call them variables since they vary. Makes sense right? We add them here as we will use them throughout the manual. The advantage @@ -62,9 +62,9 @@ means less work for the computer. Yes computers are lazy too. \caption{Definition of how much time it takes for a day and a year on a planet and how much time on the planet passes before we start another calculation run} \label{alg:time constants} \SetKwComment{Comment}{//}{} - $day \leftarrow 60*60*24$ \Comment*[l]{Length of one day in seconds ($s$)} - $year \leftarrow 365*day$ \Comment*[l]{Length of one year in seconds ($s$)} - $\delta t \leftarrow 60 * 9$ \Comment*[l]{How much time is between each calculation run in seconds ($s$)} + $day \leftarrow 60*60*24$ \Comment*[l]{Length of one day in seconds (\si{s})} + $year \leftarrow 365*day$ \Comment*[l]{Length of one year in seconds (\si{s})} + $\delta t \leftarrow 60 * 9$ \Comment*[l]{How much time is between each calculation run in seconds (\si{s})} \end{algorithm*} \subsubsection{The Planet Passport} @@ -75,12 +75,12 @@ all the relevant variables that are unique to a planet, or well not necessarily \caption{Defining the constants that are specific to a planet} \label{alg:planet constants} \SetKwComment{Comment}{//}{} - $g \leftarrow 9.81$ \Comment*[l]{Magnitude of gravity on the planet in $ms^{-2}$} + $g \leftarrow 9.81$ \Comment*[l]{Magnitude of gravity on the planet in \si{ms^{-2}}} $\alpha \leftarrow -23.5$ \Comment*[l]{By how many degrees the planet is tilted with respect to the star's plane} - $top \leftarrow 50*10^3$ \Comment*[l]{How high the top of the atmosphere is with respect to the planet surface in meters ($m$)} - $ins \leftarrow 1370$ \Comment*[l]{Amount of energy from the star that reaches the planet per unit area ($Jm^{-2}$)} + $top \leftarrow 50*10^3$ \Comment*[l]{How high the top of the atmosphere is with respect to the planet surface in meters (\si{m})} + $ins \leftarrow 1370$ \Comment*[l]{Amount of energy from the star that reaches the planet per unit area (\si{Jm^{-2}})} $\epsilon \leftarrow 0.75$ \Comment*[l]{Absorbtivity of the atmosphere, fraction of how much of the total energy is absorbed (unitless)} - $r \leftarrow 6.4*10^6$ \Comment*[l]{The radius of the planet in meters ($m$)} + $r \leftarrow 6.4*10^6$ \Comment*[l]{The radius of the planet in meters (\si{m})} \end{algorithm} \subsubsection{Model Specific Parameters} @@ -97,12 +97,12 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea $resolution \leftarrow 3$ \Comment*[l]{The amount of degrees on the latitude longitude grid that each cell has, with this setting each cell is 3 degrees latitude high and 3 degrees longitude wide} $nlevels \leftarrow 10$ \Comment*[l]{The amount of layers in the atmosphere} - $\delta t_s \leftarrow 60*137$ \Comment*[l]{The time between calculation rounds during the spin up period in seconds ($s$)} - $t_s \leftarrow 5*day$ \Comment*[l]{How long we let the planet spin up in seconds ($s$)} + $\delta t_s \leftarrow 60*137$ \Comment*[l]{The time between calculation rounds during the spin up period in seconds (\si{s})} + $t_s \leftarrow 5*day$ \Comment*[l]{How long we let the planet spin up in seconds (\si{s})} $adv \leftarrow \texttt{FALSE}$ \Comment*[l]{Whether we want to enable advection or not} $adv\_boun \leftarrow 8$ \Comment*[l]{How many cells away from the poles where we want to stop calculating the effects of advection} - $C_a \leftarrow 287$ \Comment*[l]{Heat capacity of the atmosphere in $JKg^{-1}K^{-1}$} - $C_p \leftarrow 1 \cdot 10^6$ \Comment*[l]{Heat capacity of the planet in $JKg^{-1}K^{-1}$} + $C_a \leftarrow 287$ \Comment*[l]{Heat capacity of the atmosphere in \si{Jkg^{-1}K^{-1}}} + $C_p \leftarrow 1 \cdot 10^6$ \Comment*[l]{Heat capacity of the planet in \si{Jkg^{-1}K^{-1}}} $\delta y \leftarrow \frac{2\pi r}{nlat}$ \Comment*[l]{How far apart the gridpoints in the y direction are (degrees latitude)} $\alpha_a \leftarrow 2 \cdot 10^{-5}$ \Comment*[l]{The diffusivity constant for the atmosphere} $\alpha_p \leftarrow 1.5 \cdot 10^{-6}$ \Comment*[l]{The diffusivity constant for the planet surface} @@ -112,7 +112,7 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea $smooth_w \leftarrow 0.3$ \Comment*[l]{The smoothing parameter for the $w$ component of the velocity} $count \leftarrow 0$ \; \For{$j \in [0, top]$}{ - $heights[j] \leftarrow count$ \Comment*[l]{The height of a layer} + $heights[j] \leftarrow count$ \Comment*[l]{The height of a layer (\si{m})} $count \leftarrow count + \frac{top}{nlevels}$ \; } @@ -121,6 +121,6 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea } \For{$k \in [0, nlevels - 1]$}{ - $\delta z[k] \leftarrow heights[k + 1] - heights$ \Comment*[l]{How far apart the gridpoints in the z direction are ($m$)} + $\delta z[k] \leftarrow heights[k + 1] - heights$ \Comment*[l]{How far apart the gridpoints in the z direction are (\si{m})} } \end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/radiation.tex b/tex-docs/topics/radiation.tex index c717c8b..ee1525a 100644 --- a/tex-docs/topics/radiation.tex +++ b/tex-docs/topics/radiation.tex @@ -11,23 +11,23 @@ body, i.e. it absorbs all radiation on all wavelengths. This is captured in Stef In \autoref{eq:stefan-boltzmann} the symbols are: \begin{itemize} - \item $S$: The energy that reaches the top of the atmosphere, coming from the sun or a similar star, per second per meters squared $Wm^{-2}$. This is also called the insolation. - \item $\sigma$: The Stefan-Boltzmann constant, $5.670373 \cdot 10^-8 \ (Wm^{-2}K^{-4})$ \cite{stefan-boltzmann}. - \item $T$: The temperature of the planet ($K$). + \item $S$: The energy that reaches the top of the atmosphere, coming from the sun or a similar star, per second per meters squared (\si{Wm^{-2}}). This is also called the insolation. + \item $\sigma$: The Stefan-Boltzmann constant, $5.670373 \cdot 10^-8$ (\si{Wm^{-2}K^{-4}}) \cite{stefan-boltzmann}. + \item $T$: The temperature of the planet (\si{K}). \end{itemize} The energy difference between the energy that reaches the atmosphere and the temperature of the planet must be equal to the change in temperature of the planet, which is written in \autoref{eq:sb rewritten}. The symbols on the right hand side are: \begin{itemize} - \item $\Delta U$: The change of internal energy ($J$) \cite{thermo1}. - \item $C$: The specific heat capacity of the object, i.e. how much energy is required to heat the object by one degree Kelvin ($\frac{J}{K}$). - \item $\Delta T$: The change in temperature ($K$). + \item $\Delta U$: The change of internal energy (\si{J}) \cite{thermo1}. + \item $C$: The specific heat capacity of the object, i.e. how much energy is required to heat the object by one degree Kelvin (\si{JK^{-1}}). + \item $\Delta T$: The change in temperature (\si{K}). \end{itemize} We want to know the change of temperature $\Delta T$, so we rewrite the equation into \autoref{eq:sb rewritten2}. Here we added the $\delta t$ term to account for the time difference (or time -step). This is needed as we need an interval to calculate the difference in temperature over. Also we need to get the energy that we get ($J$) and not the energy per second ($W$), and by adding -this time step the units all match up perfectly. +step). This is needed as we need an interval to calculate the difference in temperature over. Also we need to get the energy that we get (\si{J}) and not the energy per second (\si{W}), and by +adding this time step the units all match up perfectly. \begin{subequations} \begin{equation} @@ -379,8 +379,8 @@ is described in \autoref{eq:optical depth}. The symbols in the equation mean: \begin{itemize} \item $\tau_0$: Optical depth at the surface. - \item $p$: Atmospheric pressure ($Pa$). - \item $p_s$: Atmospheric pressure at the surface ($Pa$). + \item $p$: Atmospheric pressure (\si{Pa}). + \item $p_s$: Atmospheric pressure at the surface (\si{Pa}). \item $f_l$: The linear optical depth parameter, with a value of 0.1. \end{itemize} diff --git a/tex-docs/topics/velocity.tex b/tex-docs/topics/velocity.tex index 6c99864..c58d60f 100644 --- a/tex-docs/topics/velocity.tex +++ b/tex-docs/topics/velocity.tex @@ -6,17 +6,17 @@ The equation of state relates one or more variables in a dynamical system (like described by \autoref{eq:ideal gas} \cite{idealGas}. The symbols in that equation represent: \begin{itemize} - \item $p$: The gas pressure ($Pa$). - \item $V$: The volume of the gas ($m^3$). - \item $n$: The amount of moles\footnote{Mole is the amount of particles ($6.02214076 \cdot 10^{23}$) in a substance, where the average weight of one mole of particles in grams is about the - same as the weight of one particle in atomic mass units ($u$)\cite{mole}} in the gas. - \item $R$: The Gas constant, $8.3144621$ ($J(mol)^{-1}K$) \cite{idealGas}. + \item $p$: The gas pressure (\si{Pa}). + \item $V$: The volume of the gas (\si{m^3}). + \item $n$: The amount of moles in the gas (\si{mol}). + \item $R$: The Gas constant as defined in \autoref{sec:gas constant} (\si{JK^{-1}mol^{-1}}) \cite{idealGas}. \item $T$: The temperature opf the gas ($K$). \end{itemize} -If we divide everything in \autoref{eq:ideal gas} by $V$ and set it to be unit (in this case, set it to be exactly $1 m^3$) we can add in the molar mass in both the top and bottom parts of the -division as show in \autoref{eq:gas unit}. We can then replace $\frac{nm}{V}$ by $\rho$ the density of the gas ($kgm^{-3}$) and $\frac{R}{m}$ by $R_s$ the specific gas constant (gas constant that varies per -gas in $J(mol)^{-1}K$) as shown in \autoref{eq:state gas}. the resulting equation is the equation of state that you get that most atmospheric physicists use when talking about the atmosphere \cite{simon}. +If we divide everything in \autoref{eq:ideal gas} by $V$ and set it to be unit (in this case, set it to be exactly $1$ \si{m^3}) we can add in the molar mass in both the top and bottom parts of +the division as show in \autoref{eq:gas unit}. We can then replace $\frac{nm}{V}$ by $\rho$ the density of the gas (\si{kgm^{-3}}) and $\frac{R}{m}$ by $R_s$ the specific gas constant (gas +constant that varies per gas in \si{JK^{-1}mol^{-1}}) as shown in \autoref{eq:state gas}. The resulting equation is the equation of state that you get that most atmospheric physicists use when +talking about the atmosphere \cite{simon}. \begin{subequations} \begin{equation} @@ -47,19 +47,19 @@ to the f-plane approximation are given in \autoref{eq:x momentum} and \autoref{e effect on the whole flow. All the symbols in \autoref{eq:x momentum} and \autoref{eq:y momentum} mean: \begin{itemize} - \item $u$: The east to west velocity ($ms^{-1}$). - \item $t$: The time ($s$). + \item $u$: The east to west velocity (\si{ms^{-1}}). + \item $t$: The time (\si{s}). \item $f$: The coriolis parameter as in \autoref{eq:coriolis}. - \item $v$: The north to south velocity ($ms^{-1}$). - \item $\rho$: The density of the atmosphere ($kgm^{-3}$). - \item $p$: The atmospheric pressure ($Pa$). - \item $x$: The local longitude coordinate ($m$). - \item $y$: The local latitude coordinate ($m$). + \item $v$: The north to south velocity (\si{ms^{-1}}). + \item $\rho$: The density of the atmosphere (\si{kgm^{-3}}). + \item $p$: The atmospheric pressure (\si{Pa}). + \item $x$: The local longitude coordinate (\si{m}). + \item $y$: The local latitude coordinate (\si{m}). \end{itemize} -If we then define a vector $\bar{u}$ as $(u, v, 0)$, we can rewrite both \autoref{eq:x momentum} as \autoref{eq:x momentum laplace}. Here $\nabla u$ is the gradient of -$u$ in both $x$ and $y$ directions. Then if we write out $\nabla u$ we get \autoref{eq:x momentum final}. Similarly, if we want to get $\delta v$ instead of $\delta u$ we rewrite -\autoref{eq:y momentum} to get \autoref{eq:y momentum laplace} and \autoref{eq:y momentum final}. +If we then define a vector $\bar{u}$ as $(u, v, 0)$, we can rewrite both \autoref{eq:x momentum} as \autoref{eq:x momentum laplace}. Here $\nabla u$ is the gradient of $u$ in both $x$ and $y$ +directions. Then if we write out $\nabla u$ we get \autoref{eq:x momentum final}. Similarly, if we want to get $\delta v$ instead of $\delta u$ we rewrite \autoref{eq:y momentum} to get +\autoref{eq:y momentum laplace} and \autoref{eq:y momentum final}. \begin{subequations} \begin{equation} From 9c8baa2cd6c00ee0531e30b254200dc401498fcf Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Sat, 19 Sep 2020 20:12:22 +0200 Subject: [PATCH 13/17] Added the vertical smoothing via FFTs --- tex-docs/appendices/vars.tex | 1 + tex-docs/topics/advection.tex | 7 ++++--- tex-docs/topics/control_panel.tex | 1 + tex-docs/topics/master.tex | 2 +- tex-docs/topics/util_funcs.tex | 7 ++++--- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/tex-docs/appendices/vars.tex b/tex-docs/appendices/vars.tex index 9b1f3e7..7af2e47 100644 --- a/tex-docs/appendices/vars.tex +++ b/tex-docs/appendices/vars.tex @@ -55,4 +55,5 @@ only applies to variables in code, every symbol in equations are explained at th \item $smooth_u$: The smoothing parameter for the $u$ component of the velocity. \item $smooth_v$: The smoothing parameter for the $v$ component of the velocity. \item $smooth_w$: The smoothing parameter for the $w$ component of the velocity. + \item $smooth_{vert}$: The smoothing parameter for the vertical part of the velocities. \end{itemize} \ No newline at end of file diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index 5caf015..2eb659d 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -162,7 +162,8 @@ potential temperature and vice versa. The whole process of moving temperature ar \autoref{eq:thermal potential} and \autoref{eq:potential temp} into code and create an overarching function that calls the previously mentioned equations. Let us start with \autoref{eq:thermal potential} which is described in \autoref{alg:temp to pot}. Note that $\frac{R}{C_a}$ does not change as they are constants, therefore we can precompute them which saves quite a bit of time (namely $O(n^3)$ divisions, where $n$ is the length of each dimension of $T_a$). Also note that we can inverse the process by inserting a minus in the exponent and swapping $T_a$ -and $\theta$, which can easily be done in the call to \autoref{alg:temp to pot}. +and $\theta$, which can easily be done in the call to \autoref{alg:temp to pot}. To avoid confusion we rename $p_0$ to $p_r$ as we talk about a reference pressure, instead of the already defined +pressure from a previous calculation round. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -176,9 +177,9 @@ and $\theta$, which can easily be done in the call to \autoref{alg:temp to pot}. } \For{$i \leftarrow 0$ \KwTo $T_a.length$}{ \For{$j \leftarrow 0$ \KwTo $T_a[i].length$}{ - $p_0 \leftarrow p[i, j 0]$ \; + $p_r \leftarrow p[i, j 0]$ \; \For{$k \leftarrow 0$ \KwTo $T_a[i, j].length$}{ - $\theta[i, j, k] \leftarrow T_a[i, j, k] (\frac{p[i, j, k]}{p_0})^{\kappa}$ + $\theta[i, j, k] \leftarrow T_a[i, j, k] (\frac{p[i, j, k]}{p_r})^{\kappa}$ } } } diff --git a/tex-docs/topics/control_panel.tex b/tex-docs/topics/control_panel.tex index 2746f9a..4df1fb6 100644 --- a/tex-docs/topics/control_panel.tex +++ b/tex-docs/topics/control_panel.tex @@ -110,6 +110,7 @@ definitions can be found in \autoref{alg:model constants}. What the $adv$ boolea $smooth_u \leftarrow 0.8$ \Comment*[l]{The smoothing parameter for the $u$ component of the velocity} $smooth_v \leftarrow 0.8$ \Comment*[l]{The smoothing parameter for the $v$ component of the velocity} $smooth_w \leftarrow 0.3$ \Comment*[l]{The smoothing parameter for the $w$ component of the velocity} + $smooth_{vert} \leftarrow 0.3$ \Comment*[l]{The smoothing parameter for the vertical part of the velocities} $count \leftarrow 0$ \; \For{$j \in [0, top]$}{ $heights[j] \leftarrow count$ \Comment*[l]{The height of a layer (\si{m})} diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex index fcb9f04..4e62f39 100644 --- a/tex-docs/topics/master.tex +++ b/tex-docs/topics/master.tex @@ -150,7 +150,7 @@ do not consider the data that occurs so infrequently that it means nothing. We d \begin{algorithm} $u \leftarrow \texttt{Smooth}(u, smooth_u)$ \; $v \leftarrow \texttt{Smooth}(v, smooth_v)$ \; - $w \leftarrow \texttt{Smooth}(w, smooth_w)$ \; + $w \leftarrow \texttt{Smooth}(w, smooth_w, smooth_{vert})$ \; \caption{Smoothing the velocity} \label{alg:smoothv} \end{algorithm} \ No newline at end of file diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex index f04fd62..bf845f9 100644 --- a/tex-docs/topics/util_funcs.tex +++ b/tex-docs/topics/util_funcs.tex @@ -302,19 +302,20 @@ a later point in the future. It will then be found here, so you will have to sta With that out of the way (or rather on the TODO list), we need to create a smoothing operation out of it. We do this in \autoref{alg:smooth}. Keep in mind that \texttt{FFT} the call is to the multidimensional Fast Fourier Transform algorithm, \texttt{IFFT} the call to the inverse of the multidimensional Fast Fourier Transform algorithm (also on the TODO list) and that the $int()$ function ensures that the number in brackets is an integer. Also note that the inverse of the FFT might give complex answers, and we only want real answers which the $.real$ ensures. We only -take the real part and return that. +take the real part and return that. $v$ is an optional parameter with default value $0.5$ which does absolutely nothing in this algorithm. \begin{algorithm} \SetKwInOut{Input}{Input} \SetKwInOut{Output}{Output} - \Input{Array $a$, smoothing factor $s$} + \Input{Array $a$, smoothing factor $s$, vertical smoothing factor $v \leftarrow 0.5$} \Output{Array $A$ with less variation} $nlat \leftarrow a.length$ \; $nlon \leftarrow a[0].length$ \; $nlevels \leftarrow a[0][0].length$ \; $temp \leftarrow \texttt{FFT}(a)$ \; $temp[int(nlat s):int(nlat(1 - s)),:,:] \leftarrow 0$ \; - $temp[:,int(nlon s):int(nlon(1 - s)),:] \leftarrow 0$ \; + $temp[:,int(nlon s):int(nlon(1 - s)),:] \leftarrow 0$ \; + $temp[:,:,int(nlevels v):int(nlevels(1 - v))] \leftarrow 0$ \; \Return $\texttt{IFFT}(temp).real$ \; \caption{Smoothing function} \label{alg:smooth} From edfc583c58c8ac0a5deb6029de4b55d430d30386 Mon Sep 17 00:00:00 2001 From: anothersimulacrum <42699974+anothersimulacrum@users.noreply.github.com> Date: Sat, 19 Sep 2020 13:44:44 -0700 Subject: [PATCH 14/17] Minor building documentation updates Fix some typos, clarify some things, and TechWizzart has confirmed that the windows instructions work, so remove the disclaimer. --- BUILDING.md | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index bd49a07..46b6246 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -16,27 +16,24 @@ python ./toy_model.py Below are more specific instructions to get setup for various operating systems. -## Windows (not tested) - -As stated, these are not tested, but these are the hypothetical steps to set up and build CLAuDE on Windows. -Please report if these do or do not work, so documentation can be updated. +## Windows ### 1. Clone or download the repository If you plan on contributing to this project, you will need to use git in some way to clone the project. Otherwise, simply selecting to download the repo will do. -Various git programs, such as [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop), [GitKraken](https://support.gitkraken.com/working-with-repositories/open-clone-init/), and [git from Windows](https://gitforwindows.org/) are available to clone the repository with git. Each of these provide different levels of features and different levels of complexity. +Various git programs, such as [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop), [GitKraken](https://support.gitkraken.com/working-with-repositories/open-clone-init/), and [git for Windows](https://gitforwindows.org/) are available to clone the repository with git. Each of these provide different levels of features and different levels of complexity. ### 2. Install Python, pip and a compiler To build this project, you will need Python, a compiler for the C code that Cython generates, and several python libraries that will be installed with pip. -Pip is a package manager, a program which simplifies installation of software. +Pip is a package manager, a program which simplifies installation of software, in this case, python libraries. -You can install python from [it's website](https://www.python.org/downloads/windows/). +You can install python from [its website](https://www.python.org/downloads/windows/). -If you do not already have pip installed, follow the instructions on the [pip website](https://pip.pypa.io/en/stable/installing/) to install it. +If you do not already have pip installed (it should be installed with python if you have an up to date version), follow the instructions on the [pip website](https://pip.pypa.io/en/stable/installing/) to install it. #### Compiler A compiler must then be installed. According to [the cython documentation](https://cython.readthedocs.io/en/latest/src/quickstart/install.html), you can use either [MinGW](https://osdn.net/projects/mingw/releases/) or Microsoft Visual C. If you choose to use MinGW, follow the instructions in the [cython documentation](https://cython.readthedocs.io/en/latest/src/tutorial/appendix.html) to get it set up. -If you choose to use Microsoft Visual C/C++, follow the instructions on the [Python website](https://wiki.python.org/moin/WindowsCompilers) +If you choose to use Microsoft Visual C/C++, follow the instructions on the [Python website](https://wiki.python.org/moin/WindowsCompilers). ### 3. Use pip to install python libraries Using command prompt, install the pip packages [cython](https://pypi.org/project/Cython/), [numpy](https://pypi.org/project/numpy/), and [matplotlib](https://pypi.org/project/matplotlib/), as well as [setuptools](https://pypi.org/project/setuptools/), if for some reason it is not already installed. @@ -54,7 +51,7 @@ python claude_setup.py build_ext --inplace This will convert the `.pyx` files in the repository to C files, then compile them. ### 5. Run the model -Simply run in your command prompt, while in the directory containing this file. +Simply run this in your command prompt, while in the directory containing this file. ``` python toy_model.py ``` @@ -70,7 +67,7 @@ The following programs and libraries are required to build CLAuDE: - numpy - matplotlib -If you're using apt as your package manager, these correspond to the packages `git` `python3` `python3-setuptools` `cython3` `python3-numpy` `python3-matplotlib` +If you're using apt as your package manager, these correspond to the packages `git` `python3` `python3-setuptools` `cython3` `python3-numpy` `python3-matplotlib`. ### 1. Clone the repository. Using the git command line, and cloning via https, this command will do it: @@ -103,17 +100,16 @@ This means that you did not install the equivalent of apt's `python3-dev` packag This likely means that the compiler building the libraries is not being told to search the proper directories for header files to include. One such case where this can happen is when you have libxcrypt installed, so Python.h includes ``, but setuptools does not tell the compiler where to search for that. -There is probably a proper solution to this, but I don't know it,so for now, you can work around this by telling it manually what to include. -To find the header you need to include, you can use `find`. +There is probably a proper solution to this, but I don't know it, so for now, you can work around this by telling it manually what to include. For example, with following error: ``` /usr/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory 44 | #include | ``` -You need to find where the crypt.h header is to tell setuptools where to include it, so you can use find. -You can use find in the format `find dir/ -name "pattern"` to recursively search directories and get the full path of a the header file you are searching for. -If the #include has a directory included, use the directory which contains that directory. +You need to find where the crypt.h header is to tell setuptools where to include it, so you can use the aptly named `find`. +You can use `find` in the format `find dir/ -name "pattern"` to recursively search directories from `dir/` and get the full path of the header file you are searching for. +If the #include has a directory included (e.g. `#include `), use the directory which contains that directory (if `foo.h` is in `/usr/include/alice/blah/foo.h`, you want `/usr/include/alice`). So for example, you use `find /usr -name "crypt.h"` to find the full path of the crypt.h header that Python.h is looking to include. I got the output `/usr/include/tirpc/rpcsvc/crypt.h`, so now I know where that file is found, and I can instruct setuptools to include it. @@ -138,9 +134,10 @@ Please report if these do or do not work, so documentation can be updated. ### 1. Install HomeBrew HomeBrew is a package manager, software which simplifies the installation of various software. -You can install HomeBrew from [it's website](https://brew.sh/). +You can install HomeBrew with instructions from [its website](https://brew.sh/). ### 2. Clone the repository +If you plan on contributing to this project, you will need to use git in some way to clone the project. Otherwise, simply selecting to download the repo will do. Various git programs, such as [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop), [GitKraken](https://support.gitkraken.com/working-with-repositories/open-clone-init/), or just git are available to clone the repository. Each of these provide different levels of features and different levels of complexity. git can be installed through homebrew using `brew install git`. Using git, you can clone the repository via https with this command: @@ -159,7 +156,7 @@ Then, use `pip`, a python package manager that is installed with python to insta ``` pip install cython pip install numpy -pip install matplot lib +pip install matplotlib ``` ### 4. Using Cython, compile `claude_low_level_library` and `claude_top_level_library` From 46e5bd6254a8fe33490a2fb94f17ab813a012ebf Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Mon, 21 Sep 2020 13:50:35 +0200 Subject: [PATCH 15/17] Changed notation of the for loops in the algorithms and fixed incorrect algorithm names --- tex-docs/topics/advection.tex | 8 +++--- tex-docs/topics/master.tex | 2 +- tex-docs/topics/radiation.tex | 52 +++++++++++++++++----------------- tex-docs/topics/util_funcs.tex | 43 +++++++++++++--------------- tex-docs/topics/velocity.tex | 12 ++++---- 5 files changed, 57 insertions(+), 60 deletions(-) diff --git a/tex-docs/topics/advection.tex b/tex-docs/topics/advection.tex index 2eb659d..8a297e7 100644 --- a/tex-docs/topics/advection.tex +++ b/tex-docs/topics/advection.tex @@ -54,7 +54,7 @@ With the divergence functon defined in \autoref{alg:divergence}, we now need to $T_{add} \leftarrow T_a + \delta t \alpha_a \nabla^2(T_a) + \nabla(T_a)$ \; $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - \caption{The main calculations for calculating the effects of diffusion} + \caption{The main calculations for calculating the effects of advection} \label{alg:advection} \end{algorithm} @@ -78,7 +78,7 @@ to calculate $\rho$ after the movement of air has taken place, so we need to cha $T_a \leftarrow T_a + T_{add}[5:-5, :] \text{ //Only add } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + 5, nlat - 5]$. \; $\rho \leftarrow \rho + \delta t \nabla \rho$ \; $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - \caption{The main calculations for calculating the effects of diffusion} + \caption{The main calculations for calculating the effects of advection} \label{alg:advectionv2} \end{algorithm} @@ -92,7 +92,7 @@ boundary. $T_a \leftarrow T_a - 0.5T_{add}[adv\_bound:-adv\_boun, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$. \; $\rho[adv\_boun: -adv\_boun, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$ \; $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - \caption{The main calculations for calculating the effects of diffusion} + \caption{The main calculations for calculating the effects of advection} \label{alg:advectionfix} \end{algorithm} @@ -105,7 +105,7 @@ add it, with \autoref{alg:advection layer} as a result. Here the ':' means all i $T_a \leftarrow T_a - 0.5T_{add}[adv\_boun:-adv\_boun, :, :] \text{ //Only subtract } T_{add} \text{ to } T_a \text{ for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$. \; $\rho[adv\_boun: -adv\_boun, :, :] \leftarrow \rho - 0.5(\delta t \nabla \rho) \text{ //Only change the density for indices in the interval } [-nlat + adv\_boun, nlat - adv\_boun]$ \; $T_p \leftarrow T_p + \delta t \alpha_p \nabla^2(T_p)$ \; - \caption{The main calculations for calculating the effects of diffusion} + \caption{The main calculations for calculating the effects of advection} \label{alg:advection layer} \end{algorithm} diff --git a/tex-docs/topics/master.tex b/tex-docs/topics/master.tex index 4e62f39..f281fba 100644 --- a/tex-docs/topics/master.tex +++ b/tex-docs/topics/master.tex @@ -21,7 +21,7 @@ calculations in \autoref{alg:temperature with density} we would calculate the ve } } } - \caption{Main loop that can simulate flow and advection conditionally} + \caption{Main loop that can simulate velocities and advection conditionally} \label{alg:stream4v1} \end{algorithm} diff --git a/tex-docs/topics/radiation.tex b/tex-docs/topics/radiation.tex index ee1525a..36a1c4e 100644 --- a/tex-docs/topics/radiation.tex +++ b/tex-docs/topics/radiation.tex @@ -146,13 +146,13 @@ we change that) amd the current time is obviously not constant. All constants ca \SetKwInOut{Output}{Output} \Input{time $t$, amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-90, 90]$}{ - \For{$lon \in [0, 360]$}{ + \For{$lat \leftarrow -90$ \KwTo $90$}{ + \For{$lon \leftarrow 0$ \KwTo $360$}{ $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; } } - \caption{The main function of the temperature calculations} + \caption{The main function for the temperature calculations} \label{alg:stream1v1} \end{algorithm} @@ -197,13 +197,13 @@ that $S$ is defined as the call to \autoref{alg:solar}. \Input{amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ + \For{$lon \leftarrow 0$ \KwTo $nlot$}{ $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t (S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p}$ \; $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; } } - \caption{The main function of the temperature calculations} + \caption{The main function for the temperature calculations} \label{alg:stream1v2} \end{algorithm} @@ -229,13 +229,13 @@ reflected instead of absorbed, where we need the amount that is absorbed which i \SetKwInOut{Output}{Output} \Input{amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ + \For{$lon \leftarrow 0$ \KwTo $nlot$}{ $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{C_p[lat, lon]}$ \; $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{C_a}$ \; } } - \caption{The main loop of the temperature calculations} + \caption{The main function for the temperature calculations} \label{alg:stream2v3} \end{algorithm} @@ -249,13 +249,13 @@ The air density is not at all points exactly the same. This may be due to the wi \SetKwInOut{Output}{Output} \Input{amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ + \For{$lon \leftarrow 0$ \KwTo $nlot$}{ $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + 4\epsilon \sigma (T_a[lat, lon])^4 - 4\sigma (T_p[lat, lon])^4)}{\rho[lat, lon]C_p[lat, lon]}$ \; $T_a[lat, lon] \leftarrow T_a[lat, lon] + \frac{\delta t (\sigma (T_p[lat, lon])^4 - 2\epsilon\sigma (T_a[lat, lon])^4)}{\rho[lat, lon]C_a}$ \; } } - \caption{The main loop of the temperature calculations} + \caption{The main function for the temperature calculations} \label{alg:temperature with density} \end{algorithm} @@ -294,15 +294,15 @@ regards to the storage of the values) by the addition of multiple atmospheric la \SetKwInOut{Output}{Output} \Input{amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlot]$}{ - \For{$layer \in [0, nlevels]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ + \For{$lon \leftarrow 0$ \KwTo $nlot$}{ + \For{$layer \leftarrow 0$ \KwTo $nlevels$}{ $T_p[lat, lon] \leftarrow T_p[lat, lon] + \frac{\delta t ((1 - a[lat, lon])S + \sigma(4\epsilon[0](T_a[lat, lon, 0])^4 - 4(T_p[lat, lon])^4))} {4C_p[lat, lon]}$ \; - \uIf{$layer == 0$}{ + \uIf{$layer = 0$}{ $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma((T_p[lat, lon])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; - }\uElseIf{$layer == nlevels - 1$}{ + }\uElseIf{$layer = nlevels - 1$}{ $T_a[lat, lon, layer] \leftarrow T_a[lat, lon, layer] + \frac{\delta t \sigma(\epsilon[layer - 1](T_a[lat, lon, layer - 1])^4 - 2\epsilon[layer](T_a[lat, lon, layer])^4)} {\rho[lat, lon, layer]C_a\delta z[layer]}$ \; }\uElse{ @@ -312,7 +312,7 @@ regards to the storage of the values) by the addition of multiple atmospheric la } } } - \caption{The main loop of the temperature calculations} + \caption{The main function for the temperature calculations} \label{alg:temperature layer} \end{algorithm} @@ -320,7 +320,7 @@ We also need to initialise the $\epsilon$ value for each layer. We do that in \a \begin{algorithm} $\epsilon[0] \leftarrow 0.75$ \; - \For{$i \in [1, nlevels]$}{ + \For{$i \leftarrow 1$ \KwTo $nlevels$}{ $\epsilon[i] \leftarrow 0.5\epsilon[i - 1]$ } \caption{Intialisation of the insulation of each layer (also known as $\epsilon$)} @@ -406,23 +406,23 @@ $S_z$ represents the call to \autoref{alg:gradient z}. \texttt{solar} represents \SetKwInOut{Output}{Output} \Input{amount of energy that hits the planet $S$} \Output{Temperature of the planet $T_p$, temperature of the atmosphere $T_a$} - \For{$lat \in [-nlat, nlat]$}{ - \For{$lon \in [0, nlon]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ + \For{$lon \leftarrow 0$ \KwTo $nlot$}{ $pressureProfile \leftarrow p[lat, lon, :]$ \; $\tau = \tau_0(lat)f_l\frac{pressureProfile}{pressureProfile[0]} + (1 - f_l)(\frac{pressureProfile}{pressureProfile[0]})^4)$ \; $U[0] \leftarrow \sigma T_p[lat, lon]^4$ \; - \For{$level \in [1, nlevels]$}{ + \For{$level \leftarrow 1$ \KwTo $nlevels$}{ $U[level] \leftarrow U[level - 1] - \frac{(\tau[level] - \tau[level - 1])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level - 1] - \tau[level])}$ \; } $D[nlevels - 1] \leftarrow 0$ \; - \For{$level \in [nlevels - 1, 0]$}{ + \For{$level \leftarrow nleves - 1$ \KwTo $0$}{ $D[level] \leftarrow D[level + 1] - \frac{(\tau[level + 1] - \tau[level])(\sigma \cdot (mean(T_a[:, :, level]))^4)}{1 + (\tau[level] - \tau[level + 1])}$ \; } - \For{$level \in [0, nlevels]$}{ + \For{$level \leftarrow 0$ \KwTo $nlevels$}{ $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; } @@ -433,7 +433,7 @@ $S_z$ represents the call to \autoref{alg:gradient z}. \texttt{solar} represents $T_p[lat, lon] \leftarrow T_p[lat, lon] \frac{\delta t((1 - a[lat, lon]) S + S_z(D, 0, 0, 0) - \sigma T_p[lat, lon]^4)}{C_p[lat ,lon]}$ \; } } - \caption{Adding in radiation} + \caption{Main function for calculating the temperature using radiation} \label{alg:optical depth} \end{algorithm} @@ -450,7 +450,7 @@ $Q$. We add in a check to see if we are currently calculating the radiation in t height. \begin{algorithm} - \For{$level \in [0, nlevels]$}{ + \For{$level \leftarrow 0$ \KwTo $nlevels$}{ $Q[level] \leftarrow - \frac{S_z(U - D, 0, 0, level)}{10^3 \cdot densityProfile[level]}$ \; \uIf{$heights[level] > 20 \cdot 10^3$}{ $Q[level] \leftarrow Q[level] + \texttt{solar}(5, lat, lon, t) \frac{24 \cdot 60 \cdot 60(\frac{heights[level] - 20 \cdot 10^3}{10^3})^2}{30^2}$ \; diff --git a/tex-docs/topics/util_funcs.tex b/tex-docs/topics/util_funcs.tex index bf845f9..3b94f4f 100644 --- a/tex-docs/topics/util_funcs.tex +++ b/tex-docs/topics/util_funcs.tex @@ -23,7 +23,7 @@ calculations we will do later on. \SetKwInOut{Output}{Output} \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} \Output{Gradient in the $x$ direction} - \eIf{$k == \texttt{NULL}$}{ + \eIf{$k = \texttt{NULL}$}{ $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon] - a[i, (j - 1) \text{ mod } nlon]}{\delta x[i]}$ \; }{ $grad \leftarrow \frac{a[i, (j + 1)\text{ mod } nlon, k] - a[i, (j - 1) \text{ mod } nlon, k]}{\delta x[i]}$ \; @@ -38,18 +38,18 @@ calculations we will do later on. \SetKwInOut{Output}{Output} \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$ with default value \texttt{NULL}} \Output{Gradient in the $y$ direction} - \eIf{$k == \texttt{NULL}$}{ + \eIf{$k = \texttt{NULL}$}{ \uIf{$i == 0$}{ $grad \leftarrow 2 \frac{a[i + 1, j] - a[i, j]}{\delta y}$ \; - }\uElseIf{$i == nlat - 1$}{ + }\uElseIf{$i = nlat - 1$}{ $grad \leftarrow 2 \frac{a[i, j] - a[i - 1, j]}{\delta y}$ \; }\uElse{ $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; } }{ - \uIf{$i == 0$}{ + \uIf{$i = 0$}{ $grad \leftarrow 2 \frac{a[i + 1, j, k] - a[i, j, k]}{\delta y}$ \; - }\uElseIf{$i == nlat - 1$}{ + }\uElseIf{$i = nlat - 1$}{ $grad \leftarrow 2 \frac{a[i, j, k] - a[i - 1, j, k]}{\delta y}$ \; }\uElse{ $grad \leftarrow \frac{a[i + 1, j] - a[i - 1 j]}{\delta y}$ \; @@ -65,18 +65,18 @@ calculations we will do later on. \SetKwInOut{Output}{Output} \Input{Matrix (double array) $a$, first index $i$, second index $j$, third index $k$} \Output{Gradient in the $z$ direction} - \uIf{$a.dimensions == 1$}{ - \uIf{$k == 0$}{ + \uIf{$a.dimensions = 1$}{ + \uIf{$k = 0$}{ $grad \leftarrow \frac{a[k + 1] - a[k]}{\delta z[k]}$ \; - }\uElseIf{$k == nlevels - 1$}{ + }\uElseIf{$k = nlevels - 1$}{ $grad \leftarrow \frac{a[k] - a[k - 1]}{\delta z[k]}$ \; }\uElse{ $grad \leftarrow \frac{a[k + 1] - a[k - 1]}{2\delta z[k]}$ \; } } \uElse { - \uIf{$k == 0$}{ + \uIf{$k = 0$}{ $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k]}{\delta z[k]}$ \; - }\uElseIf{$k == nlevels - 1$}{ + }\uElseIf{$k = nlevels - 1$}{ $grad \leftarrow \frac{a[i, j, k] - a[i, j, k - 1]}{\delta z[k]}$ \; }\uElse{ $grad \leftarrow \frac{a[i, j, k + 1] - a[i, j, k - 1]}{2\delta z[k]}$ \; @@ -131,17 +131,17 @@ respectively. \SetKwInOut{Output}{Output} \Input{A matrix (double array) a} \Output{A matrix (double array) with results for the laplacian operator for each element} - \eIf{$a.dimensions == 2$}{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ + \eIf{$a.dimensions = 2$}{ + \For{$lat \leftarrow 1$ \KwTo $nlat - 1$}{ + \For{$lon \leftarrow 0$ \KwTo $nlon$}{ $output[lat, lon] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon)}{\delta x[lat]} + \frac{\Delta_y(a, lat + 1, lon) - \Delta_y(a, lat - 1, lon)}{\delta y}$\; } } }{ - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - \For{$k \in [0, nlevels - 1]$}{ + \For{$lat \leftarrow 1$ \KwTo $nlat - 1$}{ + \For{$lon \leftarrow 0$ \KwTo $nlon$}{ + \For{$k \leftarrow 0$ \KwTo $nlevels - 1$}{ $output[lat, lon, k] \leftarrow \frac{\Delta_x(a, lat, (lon + 1) \text{ mod } nlon, k) - \Delta_x(a, lat, (lon - 1) \text{ mod } nlon, k)}{\delta x[lat]} + \frac{\Delta_y(a, lat + 1, lon, k) - \Delta_y(a, lat - 1, lon, k)}{\delta y} + \frac{\Delta_z(a, lat, lon, k + 1) - \Delta_z(a, lat, lon, k + 1)}{2\delta z[k]}$\; } @@ -164,12 +164,9 @@ as we expect that we might use it in combination with the divergence operator mo \SetKwInOut{Output}{Output} \Input{A matrix (double array) $a$} \Output{A matrix (double array) containing the result of the divergence operator taken over that element} - $dim_1 \leftarrow \text{ Length of } a \text{ in the first dimension}$ \; - \For{$i \in [0, dim_1]$}{ - $dim_2 \leftarrow \text{ Length of } a \text{ in the second dimension (i.e. the length of the array stored at index } i)$ \; - \For{$j \in [0, dim_2]$}{ - $dim_3 \leftarrow \text{ Length of } a \text{ in the third dimension}$ \; - \For{$k \in [0, dim_3]$}{ + \For{$i \leftarrow 0$ \KwTo $a.length$}{ + \For{$j \leftarrow 0$ \KwTo $a[i].length$}{ + \For{$k \leftarrow 0$ \KwTo $a[i, j].length$}{ $output[i, j, k] \leftarrow \Delta_x(au, i, j, k) + \Delta_y(av, i, j, k) + \Delta_z(aw, i, j, k)$ \; } } @@ -275,7 +272,7 @@ This symmetry as it is called can be exploited to produce a divide and conquer a } \uElse{ $B[0], \dots, B[\frac{N}{2} - 1] \leftarrow \texttt{FFT}(A, i, \frac{N}{2}, 2s)$ \; $B[\frac{N}{2}], \dots, B[N - 1] \leftarrow \texttt{FFT}(A, i + s, \frac{N}{2}, 2s)$ \; - \For{$k = 0$ to $\frac{N}{2} - 1$}{ + \For{$k \leftarrow 0$ \KwTo $\frac{N}{2} - 1$}{ $t \leftarrow B[k]$ \; $B[k] \leftarrow t + e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; $B[k + \frac{N}{2}] \leftarrow t - e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; diff --git a/tex-docs/topics/velocity.tex b/tex-docs/topics/velocity.tex index c58d60f..4b390e6 100644 --- a/tex-docs/topics/velocity.tex +++ b/tex-docs/topics/velocity.tex @@ -98,8 +98,8 @@ With the gradient functions defined in \autoref{alg:gradient x} and \autoref{alg $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; $S_{py} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ + \For{$lat \leftarrow 1$ \KwTo $nlat - 1$}{ + \For{$lon \leftarrow 0$ \KwTo $nlon$}{ $u[lan, lon] \leftarrow u[lan, lon] + \delta t \frac{-u[lan, lon]S_{xu} - v[lan, lon]S_{yu} + f[lan]v[lan, lon] - S_{px}}{\rho}$ \; $v[lan, lon] \leftarrow v[lan, lon] + \delta t \frac{-u[lan, lon]S_{xv} - v[lan, lon]S_{yv} - f[lan]u[lan, lon] - S_{py}}{\rho}$ \; } @@ -116,7 +116,7 @@ Another change introduced is in the coriolis parameter. Up until now it has been \SetAlgoLined $\Omega \leftarrow 7.2921 \cdot 10^{-5}$ \; - \For{$lat \in [-nlat, nlat]$}{ + \For{$lat \leftarrow -nlat$ \KwTo $nlat$}{ $f[lat] \leftarrow 2\Omega \sin(lat \frac{\pi}{180})$ \; } \caption{Calculating the coriolis force} @@ -141,9 +141,9 @@ then so does $y$.} $S_{yv} \leftarrow \texttt{gradient\_y}(v, lan, lon)$ \; $S_{px} \leftarrow \texttt{gradient\_x}(p, lan, lon)$ \; $S_{py} \leftarrow \texttt{gradient\_y}(p, lan, lon)$ \; - \For{$lat \in [1, nlat - 1]$}{ - \For{$lon \in [0, nlon]$}{ - \For{$layer \in [0, nlevels]$}{ + \For{$lat \leftarrow 1$ \KwTo $nlat - 1$}{ + \For{$lon \leftarrow 0$ \KwTo $nlon$}{ + \For{$layer \leftarrow 0$ \KwTo $nlevels$}{ $u[lan, lon, layer] \leftarrow u[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xu} - v[lat, lon, layer]S_{yu} + f[lat]v[lat, lon, layer] - S_{px}}{\rho}$ \; $v[lan, lon, layer] \leftarrow v[lat, lon, layer] + \delta t \frac{-u[lat, lon, layer]S_{xv} - v[lat, lon, layer]S_{yv} - f[lat]u[lat, lon, layer] - S_{py}}{\rho}$ \; $w[lan, lon, layer] \leftarrow w[lat, lon, layer] - \frac{p[lat, lon, layer] - p_o[lat, lon, layer]}{\delta t\rho[lat, lon, layer]g}$ \; From df38e111674de305477df109643e70d40586bfde Mon Sep 17 00:00:00 2001 From: TechWizzart Date: Mon, 21 Sep 2020 14:03:08 +0200 Subject: [PATCH 16/17] Updated the PDF with the new tex code --- CLAuDE NOM.pdf | Bin 422550 -> 636109 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/CLAuDE NOM.pdf b/CLAuDE NOM.pdf index 83ba8f8580cd75e0c17d95c6be463989b09502da..ebe49b83e895e4a11306ef2d407b3a699c348124 100644 GIT binary patch delta 480252 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%0DPkQ?_6fOCm23) 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%0D2Aj((K4S)Y+6C1u9B)>m$eCT6pYA=ju8OPhtx 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

3t*n8)_0) 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�DXiw)j3= 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Ⓢ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ΞOiq^(%k#GXAQM#^IHGossgWy6TovTR-JciM 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 i=RpWVKaKIXg|V*+RK%#^Zd_H73j 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 Date: Mon, 28 Sep 2020 19:01:30 +0200 Subject: [PATCH 17/17] Added in multidimensional FFTs --- CLAuDE NOM.pdf | Bin 636109 -> 645860 bytes tex-docs/CLAuDE.tex | 2 + tex-docs/references.bib | 10 +++++ tex-docs/topics/util_funcs.tex | 69 +++++++++++++++++++-------------- 4 files changed, 52 insertions(+), 29 deletions(-) diff --git a/CLAuDE NOM.pdf b/CLAuDE NOM.pdf index ebe49b83e895e4a11306ef2d407b3a699c348124..cdff5362832d029356ddd933adbe076273b1cc60 100644 GIT binary patch delta 210101 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

- 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 delta 200330 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 0$. +\end{lemma} + +With that we also need to talk about the halving lemma (\autoref{lemma:halving}). This means that $(\omega^{k + \frac{n}{2}}_n)^2 = (\omega^k_n)^2$. + +\begin{lemma}[Halving Lemma] \label{lemma:halving} + If $n > 0$ is even, then the squares of the $n$-complex $n^{\text{th}}$ roots of unity are the $\frac{n}{2}$-complex $\frac{n}{2}^{\text{th}}$ roots of unity. +\end{lemma} + Now that we know what a Fourier Transform is, we need to make it a Fast Fourier Transform, as you can imagine that calculating such a thing is quite difficult. Some smart people have thought about this and they came up with quite a fast algorithm, the Cooley-Tukey algorithm \cite{fft}, named after the people that thought of it. They use something we know as a Discrete Fourier Transform which is described by \autoref{eq:dft}. Here $N$ is the total amount of samples from the continuous sound wave. This means that $0 \leq k \leq N - 1$ and $0 \leq n \leq N - 1$. -Now with the DFT out of the way we can discuss the algorithm. It makes use of a clever property of the DFT. If you replace $k$ by $(N + k)$, as in \autoref{eq:dftex}, you can split up the -exponent which will transform one of the two parts into $1$ due to $e^{-i2\pi n} = 1$ for any integer $n$. This means that $X_{N + k} = X_k \Rightarrow X_{k + iN} = X_k$ for any integer $i$. -This symmetry as it is called can be exploited to produce a divide and conquer algorithm, which will recursivley calculate the FT which gives a running time of $N\log(n)$ as shown in -\autoref{alg:FFT}. - -\begin{subequations} - \begin{equation} - X_k = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi}{N}kn} - \label{eq:dft} - \end{equation} - \begin{equation} - X_{N + k} = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi(N + k)}{N}n} = \sum_{n = 0}^{N - 1} x_ne^{-i2\pi n}x_ne^{-\frac{i2\pi}{N}kn} = \sum_{n = 0}^{N - 1} x_ne^{-\frac{i2\pi}{N}kn} - \label{eq:dftex} - \end{equation} -\end{subequations} +Now with the DFT out of the way we can discuss the algorithm. Before we do, we assume that we have an input of $n$ elements, where $n$ is an exact power of $2$. Meaning $n = 2^k$ for some +integer $k$. \begin{algorithm} \SetKwInOut{Input}{Input} \SetKwInOut{Output}{Output} - \Input{array $A$, integer $i$, integer $N$, integer $s$} + \Input{array $A$} \Output{array $B$ with length $A.length - 1$ containing the DFT} - \uIf{$N = 1$}{ - $B[0] \leftarrow A[0]$ \; - } \uElse{ - $B[0], \dots, B[\frac{N}{2} - 1] \leftarrow \texttt{FFT}(A, i, \frac{N}{2}, 2s)$ \; - $B[\frac{N}{2}], \dots, B[N - 1] \leftarrow \texttt{FFT}(A, i + s, \frac{N}{2}, 2s)$ \; - \For{$k \leftarrow 0$ \KwTo $\frac{N}{2} - 1$}{ - $t \leftarrow B[k]$ \; - $B[k] \leftarrow t + e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; - $B[k + \frac{N}{2}] \leftarrow t - e^{-2i\pi \frac{k}{N}} B[k + \frac{N}{2}]$ \; - } + $n \leftarrow A.length$ \; + \uIf{$n = 1$}{ + \Return{$A$} \; + } + $\omega_n \leftarrow e^{\frac{2\pi i}{n}}$ \; + $\omega \leftarrow 1$ \; + $a^0 \leftarrow (A[0], A[2], \dots, A[n - 2])$ \; + $a^1 \leftarrow (A[1], A[3], \dots, A[n - 1])$ \; + $y^0 \leftarrow $ \texttt{FFT}($a^0$) \; + $y^1 \leftarrow $ \texttt{FFT}($a^1$) \; + \For{$k \leftarrow 0$ \KwTo $\frac{n}{2} - 1$}{ + $B[k] \leftarrow y^0[k] + \omega y^1[k]$ \; + $B[k + \frac{n}{2}] \leftarrow y^0[k] - \omega y^1[k]$ \; + $\omega \leftarrow \omega \omega_n$ \; } \Return{B} \caption{One dimensional Fast Fourier Transformation} @@ -293,10 +299,15 @@ second dimension. This can of course be extended in the same way for a $p$-dimen \end{equation} It is at this point that the algorithm becomes very complicated. Therefore I would like to invite you to use a library for these kinds of calculations, like Numpy \cite{numpy} for Python. If you -really want to use your own made version, you need to wait for a bit as I try to decode the literature on the algorithm for it. It is one heck of a thing to decode, so I decided to treat that at -a later point in the future. It will then be found here, so you will have to stay tuned. Sorry about that, it's quite complex... +really want to use your own made version, or if you want to understand how the libraries sort of do it, then you may continue. I still advise you to use a library, as other people have made the +code for you. -With that out of the way (or rather on the TODO list), we need to create a smoothing operation out of it. We do this in \autoref{alg:smooth}. Keep in mind that \texttt{FFT} the call is to the +We can calculate the result of such a multidimensional FFT by computing one-dimensional FFTs along each dimension in turn. Meaning we first calculate the result of the FFT along one dimension, +then we do that for the second dimension and so forth. Now the order of calculating the FFTs along each dimension does not matter. So you can calculate the third dimension first, and the first +dimension after that if you wish. This has the advantage that we can program a generic function without keeping track of the order of the dimensions. Now, the code is quite complicated but it +boils down to this: calculate the FFT along one dimension, then repeat it for the second dimension and multiply the two together and keep repeating that for all dimensions. + +With that out of the way, we need to create a smoothing operation out of it. We do this in \autoref{alg:smooth}. Keep in mind that \texttt{FFT} the call is to the multidimensional Fast Fourier Transform algorithm, \texttt{IFFT} the call to the inverse of the multidimensional Fast Fourier Transform algorithm (also on the TODO list) and that the $int()$ function ensures that the number in brackets is an integer. Also note that the inverse of the FFT might give complex answers, and we only want real answers which the $.real$ ensures. We only take the real part and return that. $v$ is an optional parameter with default value $0.5$ which does absolutely nothing in this algorithm.

*7bNbJd`x(!n&GWYdaYY<}!?UpS~O?OmJs9 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 (K>$UUsvP@xfo{?y*a5t4WaD?T# zA+N~$CMoJRod$7yHF-|RE$DJvmU;zeW^>n}WpwKMDe|5{*^BFEZ~&UxbTrzy!v8j* zQ-br)q5$tfziTfh3pz8l>z=FBfI2!nwWW!g-T53>^o(2PX*x3j{`$lFnd7Kxp_cuAF zhr#x>FfE?`unUqxcBq|W+lulU6|1xHBtbjYU}0x@2jzX2Pstyd{PKx=V&(y&hV#`( z6#OIVrL7S;9^z3a60aZmoGg9yyl&;L^pcPV5NiW^dL#o9qc1BTD~i{;T*yHQm60;p@KM8%^zBJ`OBe zbY?DmRH=L+dTBajwI@p)4Q}S2&tc=lP=1S)N|Qn7j3qQ>>7tBF(=Ce*<~kPvW$;ZE zn_()+w@`N-!-StE6FBor^JeM`a&=%B!_t&+8FgemThS?4ecX7qoz!4}ToNjb-VHbO z<4YIbFW+AQy!xICDoX7%*>2fv*@QuDHvN4+XMT~@sdk5ekHu#ceUyZBUnDTV=9iBg z8x_gNglq^Z6r5gh8LW`751go!ypKG6EHPF?FEt^i>YP2C{H^-AW%stc5o2ZWU$VE2 zsyt;L?w6<38p%A|vk095jClzZaau5w#aysx(*y3z5=mOru~pz5P?mHT7G32P(Y~6T ziy*tFDYli3A6H7LNePg194rJe>lhA0*Vz}XPwf`Yx*W|madjCUcPaxq8BW%Epnb2{ z$0cZ@ugrV%q9v}nbd2Juo==tVX`^UnNZ2>k(CS4I4kMbSu;{pUd1p*6mVzS`2LtnY+^{Nc#WZCXisbt^N{_;b$LtO z{uHE#93|I9N3=-6-z~&WzjXY1kUH?~x?$L?-U$Z{wvrOTcQm?#J1MRGtTFF$T4~b@ z#M{#=PcX(=hQ}sgCh-C4Z2ZE>vh9aPoMv}$x(*}vKH<`AkaILo#ma#F=N1vPyrVs< zf7u}0>fe7RHJjc&vk%ijWz?!1YPx8hR?V0{RZ_DCF4Bh`buXDJWU!EpT)Iw(jR|Hk z5KlfE-U*@|rWHXh-|}5MDiYS*XjVkNKaVc&($9_pxuXy7t}&%tsAAQWORtX7|i6@@xdY=8g^lqHv44>DW4XqMF|$l<0c(x zsHAF9SBNj0d?WN_j#-^fjlabeS3m>3E{3-uyW!xq~0p}&Nn z7KPg2hOxn$hz0fyE9DQ?k};zE^f12Wy}omn&w9}Ya9@&wv5;TIYZ-zU%DHanK;%`s zn*8YT6KBI;PEX1g`H0S%n9yfiS&E_OzX*U2wBj@Quj!OAOLg?0pIt39f`mp zs;JNUm|3`)|4-v11_T>3 z6ZikG;LP4=q5ln$wu@TrxzXjIM-Uj92;qjagi@E7#dhPN&)BbJn zsPCrs%vtJZGR1yeX)U8{#x8-PQqTMg72es{)XexFcm#F%9f+pp-;DnTGBx!weU5Da zpo2oq9)K8|YKXi;gZ_{M(PDx*iIAd(YH{(XXKQuz_M80X1GAK~1g-As+Jpy6z{P9>5mPB7 zhy#KWk|5`v9%CpZI6&CzBgyB+KYL~7x>_Bb8~07j-QC>GSQ_0-!Fbc*7Fa-Z0s0&| zkV+xR{9w2_^cx)pq4_b)moz2{F`0ml(31TfbN2d-q^bmP;Zh;! zzVl8{YnD3@a$e$-Ys1%GaBProD};cQ$j3bA@9{6aG1Lc*#)L@Nzbi8^2llWm(CJ$1 zAfPgdcXA5$3h*GL@u$~9qqdvpF2pC2CR^SEbHz$Qejz90vz)0!7lv6)5qfN4opG{hM~399t0CqrcMy@cg>eI zROV-lf#P=m0z&@a9gk-|%8?lW6jxu`u9P9l1KK(o8?wfO~x9YI1k>aBXRLos_-b`24=b zUDIA~`yTz~shd%#YpMhB-vXKYM*M{N@X^BvC{3Md`QD)2H+|>;z)6T*vVcs>)BoHn zP;CFzKUf-Gd{n<$fR}DVj#T1&mcR3N&!J$3re;R320g1aEDiqMZ1@Jpw~SafZdPCK zDX7F~^{3aD#`_0g*xX#$?W8?~x3qf@o{c@V1=Mqwb+AxOtbu(Bb<_bGUfUq7_27Hg z_XqzSWAq2dXJ{L+20F#^O-zUh(sb7wfzVg|#^@cR`i|uUlD_;c-UVV_10XYU2CSVJ z41pVRd|`DW3_xsd|$ydof5@k^ud2XJAX<%&D5dYJM_^?Hv#`_0@jFb zS{Lt##$NG)atOZ0{4vbFpnVTbZlQhcQVxmY;reVJp?!fAt50a(fZad}re^?lmQO>s%r5+YbIa+W6y-+ z2Y8P;*C(if8P|Uc&DuWxXZo6-)j+)h`oA-!(JaC>j1_<_oI3D#!I!#oA{bZjOk#%V zVEGpSyrvRd$Dv9LMi<9p6w;i^Ly%&T#hZbGP5!f&w~ zS8NM=2aCE|3#LX2eJRuZ6O`__!oTm3)uaEdvCYILld2gw2{@h07*D*6@kQTp;!E^S{cDb~Tk|*n!<~QoS539sjf-!!tT21GsDIQXY$P!ftJL_fR)YPcn<=kS+TP`0Z%6h*{cA7nwxp$Da|3p; zCbd9iM4ThLTLX^d-m*;<=?VW<*zoahS#d5Iq>rGe_eOu10dAl}@(8^`hL+dKzx!z4 zAN{X=n#t=m@PCSKd4y%RgW|5Sz%&_wLqy9?F??|}@{5ru=Y)oVsw#&H z86l%_O16^zW*G7rc0?9Bc!?=(d#?E6*u2ibAb5VRF?SYt_|Xa_u7u5Iy_6&Zev)X+ zh)|(Y{fC$x5y~>R)qVv?X+|CSF>9laEEi#PmoVCxQ1t4NF*z38E2x;rj3kK?9g z)4zQzR_Y8Nvh9p6^fsMyTX{epy?TjC+9Y4V0w)mgqG2qGpn^xin2~+P7dOjOlN?32 z9Smnu){kQXlow0*awA`B?w(o!A_k|f9Wu!UzN-f6d4ZJ8LTIq=T#=L>rdjMf2-Ust zW=4UJmx91wXN=*E1a&)0fAOYR@fPlK)eE{uz6M;e|Y?NY#}Mz|`?v#cT$yD@=r~BwESqMvznhCB;>j%U?Z~ zLTsLSlHMy=J*&c_6bH@8Y6~F7KgtD55qPetOkO4=Vn3z zNa*wxvbh*M-&1Zy<2_fCYmm|3Juj7z0!AN;|n2 z3LZkDv&wRa!Xo)*vNrJm_0^T&tEWF!zdgGD8o|UQhX05t5$ZNDP3eQaWGE;+jFVz7EP|6n`qnf~wwXWH+&ZOOA;#m=_BQ=?Vc2&q;==5e_ z>h+r&#fsv^Bg|wmfpeI`e;xL7A&|H_cK-m~%P*U5;qJJcn4{SNOvgG>2QunV)c-)( zP*ZIx8-I(kYESCUaA~i+7p+{raZ~uwS2~Q-_J=g=x`F9S_SaE)kn+=CI!$**r0}U< z627po(uNxwQ1#QZ#+A%h$Pg0-xv06^k@?@Q6r%)9Nwc+Z;cC4FB*4{`R4{l}JcJAc zx9>mXX=bf-O)lR9pqf}h&zl}6isDnjT@UcTM=omRyNFC2+W)&>O#f<-U-NN*_mtfs zI||26E^|Umk>yT=&3XfsfGJTpy1P0xf{=i9JF;|x zeo-g2v(d2-%K5}=yVUb#M2@_rdpTyr@@rL2#mx9vLyQ}M1z!AfgStdT8x; zzhQ%6Q;Vt0NN7q}EUsGr%B3TQW%+HZ!ay1+c=vUd$Pm6Y(JhA}-`$ft>QGrwq7_qJ z;C71O%gru8PC*<(_7SvRH{}!$Img(MiWKp?PHQZPqUvHfh4}Hn$nA3-r9n($(Y|cL zu*?Tz1hp2u5G}Z`giOo+Zu%0%Xi;EBbjTZ&9!f=J@|`MPvnxqXlze~{VW8|7Nk0*f)GvSt{|Gr=5t;J0P!x(J@uYddm2vO`4bO|7PT405_ z95YuFasTDj4U;8rng(B^)R5W1fzeyuvWKtdyTBY%h?01ofkQ=*q#`Bp_3{or=8HjO z9L!(dVa0%irp9=1LJ`}tP2_glkIaYmJ}EF49;0f1qBCzC)!3|hvh_?=2>0y<}#Xd%v@E$1KOmsuY;gb`vJWZcl&B` z=OqH^C^qTfSe+|b6Y;oBYut0Wl3j_No02;a8C#=G&qcwOy=^naG;H_z0D0*GucWG4fW%`u-G(0h)#ilF zjUv}7dS@xg-F^~Le+djLH@E15c;pov3{}tV6m$u5r`t|M;M<2pW>j%U3J2x>zxEh_ zZE@t}vYe~7M!DYO=DaTDK}W0iuxg`SEE4(@h#Wq<3?+?}(-UrYEt0C`E#+)#-*k$O z8=PI+zp6z4J7S@>k4nbn($}Lw408+OXlq}8(w*-+j<+ZWi%P3Wq($EUF(29&b`7_< zW4rq@a7w3N3MkS)_<{c$|6v*D;sXM#x&dl1!Me*b!I5w~?wm>W#U%f1B~DlTgiK_i zkYK5!#7r&>>&)V=;VU@xY2-}>>X+aGpO<5Kd4INMUuW$lM!~dDo1Qz}Y-X$PF@CFH z*x)i=jN1p}8T{cp>QBHUEP{yX6qd2RX@pyYZn0cwEE2IHfm6UJNRQ4&UGD~N#9V0B z@T1TYMd)06*HFTy12JgX`E4tWR!F7a$CWzziCk$#Gb>!@nN!I*ejZz!N98g1dam1` zk*F$*!Xepa_OwH;A+vi6B#b{s861i9Jd}`3xp38#+YEONAIkg9KOEJAR1$Bv;yA(q z5~~y+b2^(d*^I^ua-5N{N_4XCYuaK6qmiEiBAGhMdb4SLuc8na?`aV7kaL`X(f9~_keb~AEq}7XVlYKs7o)rHEprD<3S? z3g@t@r-U4tN!>BOEIR>(L+X$Hj)tm)RX$%qY(CMdD#+Y?vmF_T`cvO(WQQm8>wSH@ zpL>@b6#1!-IYY(EWE(QbE_H$UJ>WVz2apXu)J2|gIW#Y8mb)WeUBs-mR8;bA)J+oUJ> zge7>Wm5~&{4r_rQk0gi}8)XT%3-#x#6aA8CV1kA3dY@I8u-W_Xv6&Ym)5V0t6b15P zq1D0%Cdr~_l}5qdBdTtdoGr#34DLE&t>oE{Db!H+FDz6ijB+z1QKW5K%=j283IlP_ zuQL_xK4IE;O2?XTD%&dj!qlRU^HM#Znthu44=DFjH_nR&ADOAa_sf{E& ztb(Lh0$MS2KrwLyRl~^KsF5<$&Y@ex%M33fJ35BB#;$+wk1GEugbmHBkjq<$O7;(7 z;92Z@e;UX_BEj9nu%{6avb{rtT~lH;SCCR`5izZ5egs`w*NSIKKG;}O#i6lPsXG#T zTZNm}6!a|DYKWi^MX0xp@lWY!jd=72735P+fj_1U{%xpMXJ&<^Zl#PUO*R_;u<=QB_P49%Zt8E91 zl)c)-ZP4=;Xm491GJ@S{xmxihli#7rOsgM|jp4jj(ia^S{Z0RZ+OWn5C0%|^sqx~3gq6VrG8K4ww|R~D=|);elu^XBPU7F;JkeZcl5AX7l2*5 zV~{tXGV1m>r73`z&l=C9oEULn8#8YtG%DJ8j7(Utu0XS?{8uo8`%4w{kF5!FzeHdS z7dU7;r8ai?egAq4cbejQ2q>${k#H$L3=!aIk>2Zbs5@gR*Ia>TxLd8%UBo0sI|z$v zDDQRCho7b$zwV63C1f7Pl2LJ7i>2yWl&xkkOXZWNZS!e__ns+LX zM)d2)uu^`kr7M~+?j0EH1MI?}#{XpBNi?Dc7L`j;3;^2-w@u>KKDFEs?|vz15lQF` z9?>k-U|URK;maYln};$osj1~+Sn9Hh2p;md;(xxB>VT+Kc#n;>qza#$$V#9TiZLOa z21%evz|i~0WsdR`SwtZ!M~GOKx@^orH`q~(?lQ$^>?XOn%x~1`Mm=%NqOD4b1=6#hoDgEHY^#<(~#G7W3L8ruC~A8E8<%IAmaNV>3@4Z!%yf47JZx z?!wPA>MH#lj3f9>e)v_390W%DcQ(T7(-xd5r&ZuEUc0|U^Zsv77rC=b!!f3u{;9SBV%!9#vKD_>Oy=t`g zxy7FrPnENb>OXKmvd!RnqI0m=oY!)3 za$R`jK~1ih-ArJl&Uq{CweuKtP*lP6>u*zRCqzU&d}4Yhs1VeR6>8@hw83ktwZz(X z*0Kwod{}0oN#s!h3W~nK1&x%Q*=N_agH!{F_zD8u^Ct1}_OQ08?Z}(SYDGraCFrNF zU@#dBFUE&jVhB0{9QjE~`Cmr=A6xGf9cUA+>vqzy)3I&awr$%szfL-~ZQHhuj?Ip3 zWB+@dbH=$@m-Di2YL2QG57aPt6eBkg%>{2UOMeQ*F=&VFRF`5*t4fO~6*Hmbqv1T$ zHm+;Z`C?Kl9+V@@)d|8e0E-`lI_*aUw_*4Xlb9!&6!`9-Pt~XYCKjUbw$zbrJBvu_ zG#_A8HS3Ri%-O6Oj=oFJ@f68PB;lF++^Z8o1Lcq4eVYufR)aRv`QBar z7#t9a{qt#`VyhMcNZ3A>Rcm~=ZG&&x1a+$* ziKuFiL`5?v<*0}~71e#K;e1c3X+_E0FJ6K{QMs@Vwa@bDpq$Y$c}KiOAk1Eimp2g+4t7|)^l6(h`gLs@a!7;n57(*$YL z0@=f>SNUet4N9?wehu_H>5xT3JTRLHbE}sXP3Za-iRBfp_~;dDjUB*h>VJS_Y&bb8|`0g#%mD~TgZpVp(ms&M=0ABj^ zlH9gm|HjF-q{{E{m<(bbP3iIdu|pX!zpG?khb`DK+8=gxQsBScho-fs*YBau^Ngm8 zJEI(}Jz2}wwEpS=+A~YfeuNYH^F4+7Wi99vf*jN-&=Yw~>PIy1KmrT6c z^rJ|C$S1%`LTUb{X&Pe!J>Ux7eQ12pof8fpl%MEw|KPdd`v%c&hEQX=x17ElW#;$B zz$vnX1Vl|sDkC~;4S|}PEWn)53lLQLJd8n&F03ei;IYw1T^ANUb7%ymgSu}0jT{88 z1zp?x=l`70>W@=K;|phRF2a$`pV32`DlItxe)`{1WwXB{H}B>W@Jg;OYmbgds8v}L zQ_Sdx!bD^#i(-`J0p`#*ZT1*0<_MS9!}&w!kkxpfTsZFudT@S5v$6I zuI2`-HlozfWY7;3*P%q`ClLp0Ul0LzJ1-66>EHIa!%VTzFl468CCqkTDmd=Wqds^E-H#uLJ$OCQUwUNBiqS>4*xyCxJuU! z#}$`AoS=vt5{cR#fITjZTUX(1oON6;or!A{sTh{OcPB)7w#m%PTVxA$V#seOULySn z{-^&!>%cUcGf%FZ&M+%F+FMVN?S8VksO6 zuw%Se&P2`lY$GPFqGQYCmz`g+(JQ6Rj?n3wH`yG(J{6Q+0*=CbEEVA9+)NyJba8R6 zG$dh9|1seE6r)fa2?NLxn0zx~N=qp%6ZI!O_jM4?Na`7OT`!1&zMsP`!Dll&Dpl9#>-hE7~{oG3` z>8_?PKsNAv@zz}nm(Ps-K)2(mUaH`a*8z-t&rbzEfN(#EfkLnyBv-Ok;?jZvUK6O{ zXf#|GioUC>U<)owOJ@BSWIpF+oVW(GA&6+7FNEE{!E059;?BsoIrg~y^!rw~fWc=s(g0iZ*&=0+_hL)Hn=n^ci<1!(( zTJ;*VjVOtqj{8u+zTI+^z%Ds9CZ;uSeDVU#(2 zS9y(6M!5pS&CHXRmPynp&&_XhCLg2T%C0s6!9IPK5{s>OFT9)^oZD0*kzYHtcL!%y zo0kDUQR#?J--;_MOxlo91LRhzxjdXLzo%{Q%X zuYugUP|>N8F;knI-)Nq(F?|*5VVML#6mks3o&y06yENllxr$qVp?nL8a)RC16Dy$z zC@4#Zmk%k*vO^P&Q>rMnfSm+%I0A)gUC9Y{bZ_pZ^YST7Or2k8P?``VJSsUW8bNXi zO&`SU>{0kZw1lZul9BY=1>`N~SqXtcNa9T($ROvwLSP@QV+BDw>c36%>^%iwBa@}+ zs!bv%c@eU>o#ERnu{fA_&AUrnv9Ztjdzxh=%>eFxEF>oVT)VXe^odAQYIoE)vmR6h z#7Q4#uLWSRtBOiQDN%60PVD(IRmb3ooNfqk!uUmnQz)q{wNYAE`*&JfSo#|0rnOhi zjhr$#gUXM21wAcbioYEOY+@U@q*mrON%q@ZlQNz9=%86|!PKws8r)+{+cQ{r)|Vj0 zejKt3?hws3FT`%7UuTNcV|+M3F@;-Z)6S%Yx`N}K|AAbG!^M-qKOyBCQYRqKTpqi^ zTv15pW$T|kYthomb9YE9Atf(eLk#D$UNK$5kcHcjxgaE27}3-?j=%OX4L$j2!%N;O~?lvnt6HA#}aU)4S(6u9{hov?W^cq!31xn{%lB zS0ujbdTEKBY|iWVE0Qp9iV@ALio^Lp&@G0>bv4d1LXZ>XhFctLQkVXut_@?vX6~)( zM``oSR~zZPEyWw^3z{6U{Tf@5#7B;1-|=@9+%31h^p#q7ap1Iviq(|-hI6}|&tWCH zmHGmcxBgD)Ypz+`y-{${sJ~>|B+I3bk^dK9h9t*}bwiDsI$uN-^7#)C>kx97CXyl^taEiOP9iMB zl?N7$a#xZH()#jLbLJOR%ttq3`lk|G5mC|@gea8_6dL0>#J5FD>gAi%9ac9l*$XCM z;-_w%82oGsZIV`GH9dx$noY zCEB7oDMA2BDQNocsw2n0_JDoPpKA8Fa6HIusH)|AQuc~3H|r~73pi&8RCa^E?s*8zY3Pj6il3Cbk__jThvXB3v7oL z+ou6ab>DxN8Cp;K9->qoI&>g{2yn!jG7tg#2^lMDU*w}HjcUw2gGsg~y*F~MXQ3Uf zJ4WGJIw1Cj zMyn#kuJzY{p8`i4rzuQ3Fi_sKWkVx)tWyDI68RnJZ9jGPAVib7IfO-aa^fh2HlLk>$F$oC;1$076}Q%^K4iD>D# zH|8{?w7yRKf&?Bf?QR6#@>;yzj0-7a`n=j@TV|pg&S&vS4ng#WoI4CT zc+bECeKanCi`aEC14Vt-wiq|AU7^e*vmmOsG@a%tUcG`7V%5?QHBvO81SY`lyd1CS zP`*VhR^q*EdGU)ckT+Lc8oI^m@3*sydMjmosCr|Okk)afEZ5cYnNM}au_93QD_~mT z4+hxZwu!pf3_>= zG#5%adN&=RuDMH0WwDdssi|$F?V?<|=Qw~S3eIZ#6KzXdgm%n=AH*}+m<;`W$qPhQN7dfDk#2W7S=JSiOJ-AzB{vb8r7 zmz@aHH2Qw>UMC29;Kfrno+a2tXS@yYuPLbk-Z6iadQ+t=#mc-_BMB9 z`W}sCXGnZGP7xAH&>$@{xhwy9iAjGQ2!(icu=Fnqfg5)TMS&+<-k<}H?HmFi9_6=> z3S=5pd5HA`$p~UIl;Dmk+oKYjT!&R7a0c&GOH{O}ZzwXEX34i z9BtK#WZ5c3+kid?D)>H?rTv-}nr6CDNCX`j>R&5w{jx?!2+1GL3)>Q!e{E^vjZGUK z!WD6Ik^N|j8Uw!5Q9k*=_A$iz`S6u%(k5YC)yokXW;iauj}E;_CI^_JnsmOgHnj_Y`4@2LP%*pnl@i5rZIPeg&09pKTCZXnekmNQS?KeLmGV%}rR z>1V<1&H+PTd-xjqG&(F#9=T9b@*(Nv?ldYU&70J1OhUbJFkK#4e`FI%!h&qws8kh0 z61dxo?34Y3T_`En#c1O^O3l{3g_1=3NM)4!fy1%DIs+Qrby)=`qr;~K^xOdoHd|ED z0Xa*4JFs9jg<(pf2yyO=7UXS;ww9b^ww{cSp%FJ8h1XE$A83yr6py{Gu^|d{P>Plx z3Hra06BtVaDqPqN4_BiXj|&-J``D(~-+Ajgm! zCJMN5@3iz1e}aGFZ+v;Xl$;WbbL1V%yZhlQUJcg?O3O7^{H8j*h zw8gS1kX*b`GdA}6ta4a11>$#4(t#C20K!rg?cL;Uv9?87z|r%pasGbH?-Th#3TkVF z_*9-t6}HCtajAi>)akqU^zz6zwm3fou|wc3?5Muu<^YIVKw=rk)J?lU*RF9O*DFY~=t+b#}caE>E_>y>lNVr zD*g=nIa=H!C+7$+wp+5nhPP~v&=h30VnlVqqsekgO9!be{h1kE*A(+CbZ~fcl204+ z59yf9xwDm4K6%-xWvsr#t(o1MLqcW#Scqihkteo>gGxD;>$Q9rqQxy!w?^ft5`d7y znkqaT*J`Bo$);+bt|^_zzmx%&nug1 z)Mr;DyK5+Pwag!Emq}+-Dyz}Png4^+8IhI`H1c@DQ=QDyY}N!O&8eX#FL9X8p~423 zNId>6IZ3c9k*&`;CNYVjobObI2sle|sKxQ{#zqrS3)YS2RRJOoPy;Rfqaph-7NturiAr{OL z-*6_=aG42~rrZ?*03)5&6tFdd$ky`Lj1luHgz?4Mmd1m37xXE3>lBAd;Bu4ROMFon z+9S0?3u(2}q@Ml89v3 ziy9-_oOmZp5n@VZj|H8AcCKwlX;XirW2Dp6AGGD>isv0#mtAg)=3zBQK*~I$@z{`i zD;>Z4yMfI_R#vCGpSy*Ue>d0$9^C$N`ih}-Zn2)~FAiM!9ZDW4 zgLek8dJR8a3UDWHcZd({;a1x`?L!2@M2FZ7PjU8^md90EFl^2Y0^G2#6tbqLEYxZk zrhlSkZN-ZFf19zprHaj0>4fggpkAOL(8ea$UCB%QZ|@o|WhHkq^%1iIrv13J$$ zQxg8^Z(EL^lbd`eo)0VI6GS)zwVki}r*iHz@wrE?z$?q@M@s$%56MQ-^FF*M+OOgr z|8ieynPoPEJG{K}dJK^g|s<4Td$VU5wsZxF*p;nb_GV}asdV%VwDaZGN_rWxl`N%MV zX4=UPKvduJ!z}Pk)%|HV1zz2azg4%9kkR08Dqb?H+Z2swmxp4>bKpNYk zXiSe-{$wk;cGbahFuWv&_h~HamqA{Yt))N{MNWwCGX7U`5CfaapQjf?>=NE1d9LMq z3arUc8D~h^qc_P~Hz~?@ab10g@2aHa^A9gCdFrRg$57e+Fl6E+{iFj~tORz3&1~G&32S#j5Rr?YeLHC` z*|3;7fT`HSES}Rz`0;^FI)?9Ok6#;i2cVMc|CmGTR52W@?tEAcVi-hOmFa?^$WeWS zO^C`uKCC{D{$@WYr3DPZ*Xt}>k?Gc;ziJ9daU;IMV3Vv7n2-#QD z^!zzvF-5$H`a1KZCD9xsYl#)Bo3^5GB4`=0C;d^IHh%1@QQ(S!*gM=w7L zJA$j%^rsk(EaK7YRqdVEyc}p6V(x!xnOzm{YI65;iuBA9p$&D(PE;RGZ0=y81FNZL z_;u(#bt+4{!fP^=xg3)UqFYNwQN2H1xP^(VOZ`XhhtUhuN!aBu@vvPOxR6<(I90drdj zr*EIbA3nvgvhz*MxlGZ6u8D|byn%{>ft1Eh99H_V=xEEImYvR8f27C3Q7uSWLt_Y@ zu_?%y`MWkz12D5*yTSS1H@m&p3=X!ozmM7@gC03v%rH1G8{CW^@8TY|Mwi(+=_d&? ziYug^k_-<{uYDj7yY@9+aP*&7Q`T^80T0>oWIjyISY9v-O6{i(p!C=(AS~-Gkr|qqPdU!R+jlmyV8sm6P z8|M%67Kt*$UVr>8ArC5Y;qp6cP!@V9y2cZUAdMW+M%?UDCK&KH9aL87iOQClW)g0t z^nok21Y-93h$$@$c!6!?%dV8$cra1LA2G*8&;Zy& zTC5{ITK`;da1Ctb8w4RyDfb$ZdRi85S#?Up$?U;^mG3LlsD~)ybw&`@(jcU$#aYo*Q&0PUqPzXwq(wUK zC0G)C2Y#T=RV4hcp+1&YG8S-tqMuBREU9~jU}&x0s^E_}|1&x{|3qsIaRhh&e@91f zbR-V;|3B@=#>L6?e<=s3VC-Bh?5RZGAe2C~8o1_yU#GZq79sqvi4!Doj(JI$Ka7H- z>?2|DEpuB`g!6>blwn1`$7G~DNQeR{B_*X>Ek>TZk3VPHYg}sdR-V53WrZ?HR|*MNeChWWtWfdFcHN4Q@wLLiSsoRDp>J;bQ{aI8Wi z@s3%~0?Id3oV$)S&I1EEIXQ%3u;@X+2qEe#ctDP1*3Z9~F~KIhyNtWD0RbLF^fx<+ z0Y5ecRUk>9TDQRLV()_tcLlrpv7mzs>t3KdP~l=g_9K7FH9h`@sBv6$sM~hh3`VT8O;~YT5*5@k)-~iO{MAW-qdun)AsF~ObP%TrF!$ma z1_^cwS3mgE-wgp|TZsu&_~z#q79#90p`Mc_68hkp6)IsF8WQQ zfEy_U!mvSS>&^8vcmCfT${hhnA5s|eZx^Vv&dNG0nA0PK74`3*{h2?24J1cgMP*TS zX=!0}D36~5-FXND0t=bmodWXIqP)C!6zBy!y%6nwN&0YpLGDHdd-erzM)7R! zJooZ^d4YySfEr0sB3MF75GwudZTvUw_`YNDamOUdK&S~e%cqn#Hapv!YkTt$n6EUm z4GaR88k&=f!eR=~%h%!Gmnv#vJ|KR82t^5kEhA<<_i4d^-b`M;|w0|E<-1l-8UslbB_8Ic@*L*>XDzxcgJ?1Mx9@%c1n zR>TYv{&zzp_!0Fb=)($e<5InEENJA5y1syAANzg^`a#0Ci1!ERpZt%oc+>pt_El`f zxe1E^E~}82e`gd^JBS@at*Xfz+=CG3|F(&mZMlX_7XB~Y_vk#&gG>cQI} zV{dUXEFM|_Jz%;}h~YftVz*tjx|9<%ItF~nE`KxU-xfO92RYny6lQ{aq<-GEx2fx& zJCHQYsrOameOg_hL(R9{wtTk>y3>}d6T%gwhcnMu!K|N8b=*puB&yl;_$}(Zxv3uomgR*Q4_Jd`#$Hv!&LR!@d~C-&)TaodPO-5i8N zF8U0r|KqZSM}HPu*9oQs*={v#BA7gT%Ko(KZYj=R4T4o_`2A7x1Y?NfVn${)vyor< zLb;H%aLg>_`>(;V+Rnb^W?A5GF)COm2=vMBGpbL_T(s%4!g=?TJ+*cPX)Pffq2vFR@8f1$A1UL)nm5u2+gg+t0*V1G86Wkf04z$7~Wp= zV)~Y>ItOY&v~t_`dBU2hrGHXvT~Q=_~W&efEnTQ z4JSAJ#u%;He>S~?S>*5R?=>acSEygSBSvb|xv9i}SNw?My~xja0H^S>&o@FbZ=NG} zucf@wDAt3K|IkLqKJ^L~R>T68@{Byzewr_~5V!3bq+PKkD*Ky|yv_QFJ*=pDo(E~J zLRe)Lb-YwM!w=*5KJMnRaNtj%d^~dAY-$~EwR$Lsy%c-S^mTSWSpX9$5kj~zUIYwt z=0FfoZ2Vr>4OsDQsGV1SEV|@YpE)KMQ}5gCk(aGh9i!h8RyfjTvA{~;3HWsh<_eb8 zi{Jmc=!y2uiCkwQaQ{n`lsr~)BM?hCMd&QIFExLl;}NcvFq1&k$%u3sIS0Kd~zTKpYVoC^yiEqIl>KPrKQ{6myY& zCWP~kk@LVZ3cSOFl-b$$m~9U&&X<1mRu-M&Wuls47t|Pt%a)Q(0{UeY_5*8kX3h|X zq!-d%+m;!x%N#>&J*l*J^9KC>Is6|W7Jh>p_e=)AfVKXwwfw>WN8YF`!-spnY`%{y&3D5d-8%I zKn^=rOqK3Gpx<=yX3Ztro2EK%+ou;N$b`M-4jl!>uHt@@8uX{?{0Jo0H5M9(f{89> z)Trhkam;ahtbTRPNo%>RrxAtmWLYhfKkT{XzC@ww@MsJei=M2o+6|+F?2uqr(Nxuo zyLl}hMXSz}RSEzbND-Y{xgTq1+>V#S@L@ zJSic&^eJl%Z#V13GkKGOLOH(8{D>s=1M zT_kF3!{>3drcI%m270pAL65HWzt=iJvv1YuDSYGjm}4?T{6Hub&Ij5XGuI|$6myO8 zAq<|?WwT6*y~lI;%;qr+ z%E-TQ=X!rXhL00?;a7?{X8>7#Z9c_ZS{_a`FDFhmWvkauDtL`!)md4snHcUr1;U>`e4Z2n--sIjUws4-`8`B9q=h(H5;;h%fcySc#LM+xGA95FY zuQ-oWG}jWe12zP{G5J9V2~S1kQ_Ufc$X@8wdOKBN=88t(2QJxNwBe=nY?frzO8Ozx zG33@^dYS2eXBxarx>lEbD|zbW7`F7Uq;n{rU?PPQN#_C3GL8)qS9yzCL$P$<1TTto z%$#bp{vjVjQMWCn<&LEVySvi`t+UcW$Vfz!S9jY4852XB4(gb7mue~7m)Br2crCP|~!jbEl}MIEc? zp2yGnfu<54hZpjWF*aWlX7XNQN8GbSwo91>b0KMj6d!zJ-Lag4#8!%VsS_Bq=|B8R zb{xP88MDPKF$okW$fMq?6iG#Rnpuhl$A-s*U^`MKd zl$m-cMed{N=oO6$i&h5}KdkAUHAN3mR$@a!s`-r)d1u!PIaR3fQEFm$UV<@-PyPyo zP*>B6*8>(^W7Mp-5xRw$+WQ49*ZJTCL&e~tF zwF;b2o->Yt!25=zvx!vrXGWiYhPc|@X?zmV*2ZOD5TsNpMxK}u^gM3MO{Qn3YttOAVv8$*n(sP{7k*KA{fNiGE$wQqQ} z9qHek+1&PQqab|TDBn{^nt4tuy<;F+2T78;UWoVPUc=v75DQTJ3ZlvO z*D}O8cuh*AxCh1V`(0-isWX=t5w|i0NgT`?jID;UGF|dqL5v@*#d08DdmI_Ov4kOt zq?iPTgDT4Ie(DDBJoX#gQijo+{+Dr}ztcn+qjpm_;;-IN{WE`eB%PgCASN^fZ+HyN zx5uW&@?ZOw>sm^oYd|TT!WKZmU_R0Axt~RY3vpvFRS^?G;Na zp}oQ?eag~%`9LG^N2Es#nyE!EdzNT-P)*V+K)KV8~;~qEa!?DETCCa^9RgU6C3c4I&>Ee%)4B;F0Hl%_1e)V*M^MLmqf7L9%I$;qydKo*vecl$ND7(q-K_@ zKd`0f0#?!52rN49m|tN(h-^d>U#wN+MRKAjVnnc+i%+Sq-Kv0B(yxE2UChtl+s-7PTKxW&`t)mB@5yPzy*mQhp&|pG0)$e&X^6r>VOTs%!_`w}zGm2)Av(4GcCJNG*MS5wQ!PqzYhM1A+E1b^ zkwxU-SizUfa;vtLAdl3Z3Im^-0|8Sp=i)cPdXgo+XMf2*i#kEO$-y1mek?07{O0-6 ze?tcxQ+=^gKUOe|8=OnyW*TcZsnQhs=e!;9<>bX! zg4TX84gy~TmL{&}z071D{umhic)qG&M_QJssUXEDx0bFY>a1XzdSK~b0fCo+E9cZ4 zNgx%<|MZ#rTWvUJoD&mD0^dGO%}A%dtvBX;9vM3b=b{tnHa}mQ+`oI$ZilsYewuzp z@j8B~ingOU4N(yP<;NZVFmC3$ewC74eGOn+76t~`7ppYv@3aGv^g^TwS;-5kiQO(; zVqjc;6w^D+>-|D`$?K<1x{`v@6y)+_YYGCkd)Eh-Iqtcc2zv{gxsIhSe~yK%Fc%Z! z+GF*k;0f(*4A>dgIJF_gx9xW@gqaIUi9J%W>ur?WQ4slyIdq;ci(XoP9c@M>BM2_I zkpVrG8=@v{*T0VN){Zz(T(OY7f=o-~NAbUlRh73$PFKOS?EVW*f*d!x*YGZ+I$^|B z5Q%4@96$3>U+GCA za4~(;wb_iBmXDpuEMhk@Pn2V(e1FWuCIof)X?mTUSzjd6+28h8d3>F%qf& zC{f}iK%3XgCY7hlst)12F_Twx9>7cH&5(=OBL0l9S@YSv36MFv3>B%Y)?5A8)^& zOpOo{mTrp*WeSvPXb+s6j(z47T70J387>ujL2(t>w>Xd}^fq%*=YA;yqEE$+wHTyg zr-M=vZm5_!M#ty)j||bU*1L<=oR49MYmc|F3>5iTleK@n6O8%mJdm4Y9fALX0Bv(T z#8Ae)hrG#lyz`&PP{Od86JW*F;@F>@!8C8b*QyBwBn{%6nALpZQJd^>Zg3a36_b7H z{58Ws)C5V|)s+h{nq1mDXLDpxxpFF-hRrhUN*7%Y8);zQa9qGtQeN3-=igzt-9pZr z!jVL zt|=$;TGpP*CqigLu+U-3O-{3`>>55pZCMu!;$-Rj#x}R)``{ZR$eyGTzs@n{-=e z7!f&#gbKQ(nJy!ov-WO=1?TdCU4PY#VvUnD$U;+Q4Wd_l?mj&-=@(nI`rfiaxIiIh zLEFcps=KQzE0rZm^mX?XuzsEY2y|E>eKr@5Q)hf3Pc+SeIiCk>~Eo{(OS0k^L&xhl|S>!ph>rit5 zH_VQojzWz`#PN0(2j6j=F5(|$IlD^V!scFcr3HVi|Jty!Q&m@uIb`^<1WF=yOHJkG z@xX$|tQcZfF^7}K??e2DW1J6M)RVaEe7coA@2kws=XbwCpFtb(9SoOnWV$nd>Va4G z8+5Q2rh~PKiWP-lz1i?`s*@=mC1libV*21b9Zk-AOyPM|);f=1FBWs~85Y#ueKhZ2 zi^qAr0&d4dF;4WgIvVHP9Z}Q#8Qqm$#~|}0K1%+Q0y#8R#cwYie0yIAVkQa)sBb#( z;25P>v=Xx;Jm#W?TLzDM~yfDoHVKotYE^`=eKuD^!{ z`15cV$G9Pms=L#(9VgKxDpviTjFlPN@-V1}SdBriV^AUYO(<-mY4F&y6lA_|pKV?U4)MTePX@H<=~Ihgr?C?A7* zc_u@cZ*tr8fwz$ncFZ52*0Ka{4J+cr<}|Qy=k{FQ)}vk?(s^D+IE-;ynRniuE3!4! zAN0o0Oj53eZ}6L%X8~vF?l*P)_mw8=f9#jK$c~+*x3nS&8n1Vm!?%*t_MaV;Q#Mf? zZv1N8q~thWZWfMM-{GJUImL5~>6F6E!xgkxN1V3(cSD1%1~2ck&b2@|oD;*=^E9qt z$!+nv{Awu78kV)Ob$iMBXI_J!71=adgyKnwy&m7wHgz}>PCmauoq3%}{x`jjm8tc# z6g*ZCjERwzrPb#I{9EEbt&a8ok?!IdAr7JbXZ#=OE}9FX848qxH6Do^@jrp?{}b*A z**MrziRyk*0hhWu3OF(?{>K_kuKMPz5uNAyZm7|y!eh~-V5{vHl-OLmzbQt{H_Rz~ z{6DK6s~hxMtfEkg?wyMiRW+(Rs@{t;S1l_`8s^km$_q5qY^e*4i&>+oRj3pOnbbP0 zsIO&<*np1Mn_n9~3j_aY@{|if!7YQ52KIva}_x{yJx$RCG=J)l(+5CLdH0<=;W_9|Hdu zj!5+j#O(k9?_ct^R8u3o(0>dQTp;QMcq?};~Yfzdpx=T<8v2nqqa^VT< z5+yOVl=Ln=-9i+on^n3M_K&~Jh1rMnbSyJ2sRttIeOr9DP;z1URcE^aB$iu@Ag1yc;J@qT4T8+M#}wqn6Al*O#en&PRA?gWgj+Z0TgGm5ls_)<$b zQ?O<#km;SWdf(SiydY?eO*>9_tjgF1%H$WO20Td&T0Pzvsa^Xh8T`JMpv-@eN(7>_ z`ReYt0}AlY25(Ou+BmBD)gJe@{nc_G{ADX&k0=1WN6P}A|4a`5r>}Pm&a4aCMw2_X zZBA^P6MJIYHt%R++s0(ViEU2q*tVTatdpm{x8CpkICcK4>R#2g_p1G)d)2kOuZv_( zv}?yr%oDcLuUzO<;rr6w+$LlVxOlCP<@@F3vDAGgmRBJclu-nYwtQiFUGX)^oiDXFg4kQmV2BJ{0n%e3!_+&joyALlaJeu6ySet<)ZN%ZMYF(<&*A zXmRVt%Go=1F+_WF7CiMoAv^Hm-j@_UoS@>~fjHWq6HX=K*%e|pG9&gDS=8gF3N{VZ zJr0V(6=4FYub^BjzOXbj?~@tor9z@e?<^$h39nSX6r&6Y3dK8EsWyW|0_ZzTa>_X7 zA0t5*m}mqp=_x4*ujCXa*6Yc>DyK&dN?)|4;E+e zfQQ7ZE>pjrAJ_~Yh*%0m(rC~KEI2CJ`cNkc_oar}uP=&`LuE>Y%rSa1XCaA?ssew7 zTM znkw8AncH;XZacE9D`!`(ZI~6<>xpfp2&BPtJ@Qh5Uy1xaCPJ)bk5-I66>Dw>@qiNf zs3gxRo`mHjM_De4>Jm6>0%v7wxZRYCf_7cA$;fpvnG7MPP*-nqa<)^T1|aH; z&Mo|NP;l4kex_=8FjykNP~UAhbe!m~c3RH-)uxJxfy5O>HlIbbgijV+Q5&FQ90o5_ z*`_Hvla`_PdP0~82xmAm`F2isb_ZwHlTir@@e39yQiyz{mFn!5fzp@z5-{W$gS|ua z%N92GnHu@aDL|KlfowiTdmQ}UnB~eK7oS=EU@|1A24WM``d|Qo>yQxKuy%IY|68Y& zH7o;`PWTp0j4*uOE;16MFH#Of{T*H^Xp~%%L0S?cf*xgBLA0jQl7_d?x$)!Zl_ryr zrt;|=sXAM^fLz*FyKMv51OHYQ#KIf=CWU(;MAjbXR^|&7-cD6Dny~MgMXGEaPH)jA z8IwoT4S%g}F(|=ftSvqJQ)pB?qWfk*bLUpyrDrpSbFmTc$;_Rmqzm=|l7$=Yt9;*+NM6)B}c`9Y+7`Ds% zmMaNWVwZ0H%@jN_k-LsL?LvhmA_n4&UXarWJ6BSV)$WQAj=$O!L_n}2MO(en)~h0F zcZZD}#!~ls4Nlg^4NQQ_?-D-!OB*fCQZ$MQWo}$=C(Lv3*+jAm6}~a$@cHRVUz#f$ z5i8IMU37$tHc8e!Q)fdgBMuAuxlGBkPYFC6*e+EK}Gs71ieE!LK^WY zxoi?F#_3%xsfbH>B(A;Y@Meyu|k`ns;2F|hYLc@`2*--h12f2w(u#-COtBdPgTqN#fs{tuvf!I_x4h_H1^4ywOUgUFK*u}+uX<=WvNg1PO1dG*9TGts za4%iS0IcVnBtnTeHtk(RHyVaQA93A;7z$EfasJ}&A0Z_Rt~1WA{jN&G6n=E!{>O=6 z)EGN!5J~FI#&@dGF5VVR>D47au_UqqOHw7ASp#Y^=S2OWW{pW_B+bCv(Kkx(Fl4a~ z!QT?bz-E4(AT-3kAAm_6VaGeTXhHIZuJsem)mwvE0K&4owW#n|j_UanUQPEH6)al< zHL0s4C6sg}2c5~bR2|EA59|R;F4i-@(fvs2txlDO3n=Jn)f#PvTQYSbBR6;|Yy69De;!N!uO@f} zzhWx5ztc<{PgUYEEb-QzIXmsp9IE_~LGXW=>HIfMHDb6{fvzldZQ7b^MMcQ{Nc+)k8;P2B(;2 z2t4h3Zcn-METblOn3oT&hs!aF;`w1FXz`v@o#-Koh44kVDaXAey25HAwXA?3v^L7! zR7J2|oOrHSfp|opOWyd+;^YrncL!@-=(Oc7N$h~{Q72hodf@(V$zVvH`6(ntjfky6 z|6O8bXLMZzopfZgYGw{vqJ(p*>g(BvcVJJ@Ugu}ONqWbf>)%pvt#&qIt%!8OhT~La zDtf&gWmZkSD@(~n%y~ArseR*F&fR&IC?47+;Sy3Rd9qf}Z-7#OXV!cU6kAx6x95Jn z*mY+QhKmITk1wWhi-=p3W&&8YxdY~VurIFuZiT^lqV`T&Ayhx9C5P%bW*BCJHfBz zcKtOa1Hm52?&^8i>Aw+1I4Z7VUMea5iz*TTswZ!MP*kgtdB1MCwlQK)NhtJ5v`{%u zPPSDm)nFDPxOZxZD;nb#pc)fn|FHYG*5qJ4Cc8g-eF>ad&|*DhCTXPm<_-KMr{F4(C78y-H$Ah>WfK zrR>>Wu%@4)Oe{J@fM#YL?Jd{`W9mzAk3jq2{oq%H*Q|3uroUS(#I|eOHO5iSz<`$# zZmDzFy?@SLlw|f=NOa6Y{Q9d6!g0N=MVIN;yVf6mi&csX1Rh_6}r`88) zUe)KQkj;(qM)2eKaECyaU2&->%Z4VjKHuQ0q?=A*ouHlmCY{stgq+}C>lPU<%_?{N zTLEhwjRzYg6Ro(c*7!jJvXQ;HY6$EDS;xIp5TOsTX^&XalLd7&uHz%*WF7cL$Q=%# zBmF;oj})>7QFE}oWciU?yxyjbxI3$9Iz@v%J%ow5KYh)6_B(+w%rcN~Hf2a&sY_|T z0E^+4lsV}p4tiV}l8d9=SMHB}%UW(;qQ}~@;y-?Xf9<|9>`F?=55(^e@gub!!oR|( zp*QYi%%Mzh@&$yPx_t_GoA;*BjFSJ6_ z{J#trYR|aujs1U+EPcCoyzgk&1y(4X&CM8bR85^4#KxZ1-Y*Hgzcy$BiS*;o?p}(z zpUzH;xT{|83%aYq@9Tum7m9r(F4X-O2p**@?@8`k^X7rcoB5F3C!fE{@Bf*spDoN? z6~DB9G<+C*{`&m=srFgUP5iDuTEF$p3=>E=MdHuoZ}~MXV;RnjBHWF|cZSVJP{!T^ z&v6oPyk3Ijw%I{Z%FNs`p0b&?{8o5g@aRt0#oBDW(`z=Jt7kU=(}F}|kW1L<|D5r3 zU826(L?r~IoT}BzHP6*!>F1&%$qGhDNp5lK3k!z(o+^KgQr>mv?CG?auZPqQT-dwR z{%qubnia17wj|;D@rz@sdYiDh@7W6YId+#GdUuzcj9rpSo`a-o@ZmR!Q&c{mbbPZ% zXkC5JHjARw0A-)AGZP?I|BzJ@V`c|c-H4=f6~GT%_wSOj>hjqfmMv~L+3kUE(=P?t z)2VM`xzQW2=bG62sPyEV&8>+QZ!VEYSGI>#Mw@T&ogtO!FVT5MsMhEyyep36Z*4zw5U{wJX zVG@Bl?zJ*aK5klt8sm1#HUwOLJOQ^a+o*O<+%A2gAV||WK~^%(YI!fjdXfcskgM{g zZnHE+nG(sO1^m9Fm_L2-$No_GBl9Nsy;B3&@65A7&9%oMpC2s+-7x#JQUZiH zRCJ#klHVVh4e~_-b;u=5sl@h$S-WtaovUvf5WKy5u)(8beink=q+9b??4oKrkcVyl ztrP(IUmx!gN6eV$#G={DF5ci6cv1tyY{|mdsaUhj&6AY9%XrLwL}D^DA5|J(9a}hK zrZ<=v{?nK|+`ibks`bnyuNhhbfe=28PcL?7)@1}tI=rnp;gk&`hGTWcPFtt*2tv&| zj6N>L&RR$^DZ7UfLDEG@Z8))!WgD@e2D0xYZTpBbScEMu^vqjA{9aRV<0`;t;$v;E z(#CEa!U1~&$u~IP7>`;OInWSz?=5qLD{sSE_3a;t_G~jV`pTEX?SaY=h%!UDI%A82 zSZa<(abY0Bd)`!WL;TrFQ-V#J{?z(*|L4K+IX18b)}g2Ni>){J-M^>h^A#=e;>pxD zFXuOmbn^35i?|a)KN=R0Nfy{};q31zKmM#IVni zKIHX$|GhXQy|;G4gd>KeCv;c1816*q`mO~*DEb9nbxpgkJbWZxJ6CDdmdfE$>RgaY zU&sNZM9JqdGgQrSeAV-8_y7eU03-E%+ya; z@y$ZOdnnNAbHIh)f{T#Q>DmjR(vf(P300FB)zlkY9hLM05@K-^P-P&(S&3uh%F!d@ z1_coS_*`&#Uj^R0Od@W7qS>C^X`as8j?|9jd)SYRw7%caH|;jaQL2b3PS zd%R^`S5WQD{q8kz1ir~SyWM+rQTvQnaYNk-i@v7*U0pq~O|rD>IIX;xGNiSr&UNIz zHb_1CguG9ellppcB=Kv@^GyY5z`urpPXy^;X__zC8^g@i&Bff<{yzlV(ZmM+3*qKX zME&-KV*f9Q&BnvS`hP}FN_BJ{*M`vpmTI?6f0EyCGK;8?Iw$aan_T#w+&l_FF$V`O z<3{!Sn^4aO=sal^LDO!p`^WtGCFs$gJx7~2HAbUkH$^jLOqR`n6>clDrd1<#z9=bl zz*CL3&U(3+syfsxb*4@#A_|?HzQ#l1y)&zIv>1X)l`6*+|~=0fD!2hc`CLI4n+p5UWi^N)ez-s zod9LkYZMpMpfwN@2ooqm7PF1*9yTEcu(+n8gc*Xh(}+muwfM;gAzBCyxW))ufzN=Gvw}Jg zg?fUBHroSYGevV+pBT~(m!ri8RPr&0^{88;@<5fc!{%$+wwC!23#46=mB(JycLqoMVOdhNkha|(zD8E{x z&rsrl%!cjDrB%@~W6s!6Bg|5V``}cMZx;)^)bB5ntS2TqZs%q*f~03Xh611W!b~6T zydNdU1?ht~6d!5+z&B5&THzew&zpsXWX*%8#N;eg8eDT?5_4i5@-XyhTXl^cdcjwS+>-66bm-KeOm;w?Fc_# z>$m&o6Jv(j9_BtRhH8R+%7iOzZ5p+HM3aj74)*(ecX48ZIZ}ObuNWH$*=|D4rICFr z@6hNkuT7PuC6QPG_DQIbNFZG4p(r-p@Ujio5)2a)4_^0WrhK@LCf+!@n1_?5o%8?^ z$oEJ&kWHSqC9ZeoV47^|Z0|iMy~Tp4nkof<2>HQpeQb2CoecS@#yC=bW{9B=zEFaQ zu-(=LqWmz)`5z9aYu6a_+#KCGIe7dkHjuXb?-UCuVx`ssHhOQTV~Gcf^RLnNXX7FnO50F|II7ibG=$RJ@S~C8Kr~b!;#r`s z|Lcn4)WE6PI0*$9?xJxfa+?vThkt`6QO6)ZXfz!~PB!KCBlK`W5 z==X<`zB2_2yT1R&%92z2yua3T`k%I(G9vL3S|a0@lqil;HWa)hvAL3CuS;be6FG70 zUm5&4ltHOUBI4*Yna+|)gqSLc2@pkxdQ@lbQT;JK`H|&mY zTNULf=s}ZqZe`z0+ayIVStJ_pvJfZG16kM_A~QD&OpGP;ruR~4w{`|lCoI31b4q(@ zVnBW-)Zg}8n2@Ge`0r*iKLVnF4Jp&1-d0f#Z)3Yef_ia^X9Pe^*IS$;3XX4FmJK+6 zSQunz=bh&0Io|i^g&)fXRprt)8BJnrYDoL{19fVhdH}$85*VQ{q5zDIxhQM_67&roZUQCN9ikk zP%u!WBZh%jFns6?+9I&l= z!BfMWAS#&eV%k>>5^52o&F(0++mT3HO2~%GHI8BMpouo#Q7TVQj{e|BUd^n+=C!h{ z*V)Imr&SJGE$xJ|F&?GOnem0>SK7fO%{#EpgIv_thz1N5p9n=}sAj+`(AttR(g+5j z4}`~-i{Jy@5>KJg;SxLXpFB;ss+Q-^@v-w)|5&T=H+2lV|AqvyZTSIO4Ly*QluTQZ zHR?=plA+{ll4mM5+}U}XI^xR43FAiVF&ZTF_;aF;`PMnQuUt%QJaZKlF0|ZBwnw^} z-QvRa55FCHJ$Yzv@8}qT2ik^M*mzbuWua~%BYXh$m$qPGcQS0(U$UVJWvjR`IErlYk$yGGuSW;afL}~*e zgJzsAw3N1Vw~Wi3{*3DgmB!{S-dextwd6W@5@~|!P|Y%lGE9RuvgBo2kp&I{^|j)# zynvodc8;r#!h!}G^M654ke34^*h2VI=}*9$38STPvq#9M-#-!d77!AQo?7f2E0*%J zvyoS~c;GwTm*$Ty9GV=!n$TAME^I7W9BG&})(5|bPcT;5X(Am`Y3nV8XCHd6nZC&s z3!02`r)yVzfq&I&f{=Ju+>-%wc8~VJPhjhYv2Tp_W@AfBxc{2{ANwJxEMb(3=GU+{ zYdfK;?2QJ87Tzk`PTpm!iwA6J*zZx4fX2Eu`P~NxeaBoy)@kOB!w-Ld2roMZL*Kdi zvm?&d1A*ZchgS>FrRuXyXNZ?e<#^C`ipuxC3Pa^}8~}TpQ2FTKdM3`o%89hq!7u!z!m zKR$R){O+>XOjy2i=(sww7oK-`Mgqb~TTZ20$7M5T;aA*dOm{mvoLzj$QMZ3?m2H|h z$LKFtKVEk`p5CuTc!~{Hdt&m7oi~3vuGMxI)i}SPtUX|FRuM=I!m5{K73C7U5q_d5 z&*hN)fApTPvT~BLkp6ca7Z8AF7Ik;Ca&)1gWlmq#hPHuaV`b%FVPj`am(_tL_`jaL z4s!Je0H6I!C-%Fwi>n(cJ2%_^UgKFgSvme^a$HNnk%Aks>s9ku3&)D>B`t6W z(6ON_JQJ_>2Zq}j0I|Xon+teO^K9ve_H_{f7EPAoWB09_iMk%9+^saiK0 zlMaCo2`N;^M@^3Ti^m%I#%HdDX`~is>#z!Gaobm_x zRVBh1$lJ&E7xKth+dOG_^*m(^kGEcP5tB}0pdFld)HsBxgVH>i);1b?w}^K6i~Pm< zfY4qfO=a?Ex9Kkw%`D}7Y2l#v!L4##!CS#bSkuCvgIHQ;ZExEMtjxds(YcW| zkHzLGD41etRPC@fe z%g8|bK-)mA{idaPX=Ravu!_9xbUcm>S4k3k=eje2$)5x`4KJ>ORP@f zFxWcL7)2yiiDSe0_Gqv7GpxdODoylMIPGS@}KBGAL3ZwO&g z3OIqNBxK~s+P#$I@vH6R-wiH;&9U}lmz6BI;abyqi0bWPdl~zy1Br~j8KLknMB!RD zA%sSB47`uub*DtW&dyzSgN2O?1KfV*Dsl!>+v>+|zqr2Qp{-xj@N`?`_Cq$z0E32k zIQWxnwr&fgu5^h@)?Sq@JG@q_<3f0>a$}au~Zk)s-vLzTTwnXE9UISRY*(cqQ6c6Kh(Xo zHk~5dJw^R7Q?sJ=jFzAOKEr|hAE376kW57+ZF+$rlUZ&Nc7%$1y|vXgUB`D`rayO_ z!DnZu>VxB1?Im$8N3Ff|c80|-ojJp|FC__zXKql_)Liod6k%=cI&gP76WLaCF>43= zWgW}BH{Y@dDnk5p+W|cn)Tmu<&<2SGzzcbIf;{YueF+=iU7u;+I1v^$%x?>59@ zW>2152}N)gE{^yN@j1x@56IpWNd$wOzfc+6uTiBvr$)_b@Ba<2CSig|s!dAO8V|c^ z>C58i-V<@@@z@@gacQdPbb6l$yFnP?>gp3o{nzY6N#H24_Ym0B_Ey27WLX2 z{5f09H}WcuHqRSP^4F+;z;Cb4iE@XAqJCy)VWzQ@btdW;3sJ{2u)U_93)bvH)dDq6 zPO;O;eM?(M+uuj`o5hcgeTF?7rRwbs{kO3F_`UI=3}e9|s+wp;+5n#QSy@57kDtjq zE3kGFT<8S5Dgk_(evhx-kA7u-9pSHg6Z-6o&S~Q%qG1*Tb;c`3)S?^)o4oSc#K`gH zpp?uEf1`(>6~hl@pqiXHm&zl1>c))F-^a3!js_4$CeZ97@mZ?I%#4ZEUD#|xQ1G1i zaXde;Oix~b^=8mqUY>$AcE9_DU*Rr2E}6u-GLEbk5!| z1rl;aW1kx}_TJU=(N~Df@U}QiFVpNEG(db;XHINkO6v9lvdp~EF_Snmhgnk8p)E1Z zs_y(N1y8T-s+9CjuC{o-Rnnd?bFWo;#bBf%Nw-G${`queU0c($mFtNz@;Y%}J9rkl z$O^6hdFwKKL6<;O_-8FuY3_hK?ai%o!|>C4)s=_QZ&f&eM&K93_sJ(=a&lAb|96pr z{~x4>^-Dm!)e@Qv$jZvC56`S-?eo=?@MXg@Ym(}+lCqPse(kC{I=cP0%kfo^RNp|9=Sj ze=%RLk~ep-bh9F5<6>j^KXr;KL)S`Q8*k(>J;$|P$<;ooOks}8KC7gKLt(CA?q3?U z^=yfZt2L8?Z&ITI#S_Q2i5afw_wSv7zmCT{pLQ9r(9k6Ou0@9kqATRMBrze6B(FvN zl*5o=$zzTl^V1C%AB9)ao4P-B&UE=@lJ<++DJ$d{WOQtSNv-PXnC-yyX~g+LL9q@c zEfjbwr5S9v=z`D(MEjsR@DeLut4G-JZLn3>M(_Ub(?5Lun!xSj>hKy1O07KMbVUht z@a)sBNv)*#1G&VP!TDygW-d{Q0s23>g_HBk$tVY|=qh9Yu z+D7Mo1S42`=nJ|XNtT#0y*M-j0EN4Zekn2|MJM9-nJ6o)e)@vo#qcuaPk}J5ATHTo zFtNoa`fl`H`|geIjc8)-b&Gd=hGKKJR!-E@DR;(VNavJU!`eW7W!177wnj2BDmQ3* zLWPZVyvrheaegHliZAXdk-6!yPy{OkD@!=@?N_VYhA{m@!y36$HE*i~C#b5Trb1eC zlwSN*8Xe&szGV@$&6G=pYgC1R6N+^}{PaGK_5tg!B0&j$nN}o^X$~0k2L0=jvNpgf zTz~mCo(@75Lpu;AuXyZn1okmAplM8qE$2FfFJy!wS#YtCNP=H>)GQvV(Szeq%B+3_ zT}OBoO^n)Ceg=9vLpO1Z7^PsM$Q_Ms#T3IRY6QD?FwQ>kgm4W!na2ZA<}lyXUXfR} zH2r!qbfQtxlNb~cqil9eZi}49y5uglLXFTy2Z}I8ZKNU?J zud@%p{}%$zR0(lk02U=O-oE&nrCs}(iS%0s5L*!WTH2_?@cconF^OeUdI`1)fec># z79OQJDbXWr^Fo%EdE?vKKQ+!&V+(19FpoCF4LLiN7rb-`+-R%(huPio(uyX$*IGTFIafcL97LH+QW7OHl3Lehib?p1I?kPlol zLYEJ+u7kY{@ihV^ErtCXw=k|T>s$^P{M*{wM-C<1AwF>sx03?p0L27ZLBlp%NuD1C zpL;_g5B1PGNNI16jNTy%Jawip1_F%$5Ee3^6Prb$mjiqbQXb=f4JVmi3-GJ3xq_J_ zl1~N4Kz}jjUU6^~DDPjHOVdE&S}JkJQU{p_5N`;kBrYQUlci8gTz(#K9tfr9(XxYQRBQbxOTL;IEL?89*gbl(clH|MB0@ujRbH zr>a21h)`GoWc}>#pVI}1-Ej199-cYDp-)A@Q$QYT|HRp?z`yc~6Ksja&&Pkv)gswt zHG;6KqAPJqNxFzVA1k5qCcKJAe0-`e>KvXS`sEK{A#0n1WVO0M^iRbPwQpV0>pn$fPHPYkk9@4@9G~S;STL1P>}eRr+;fO z`S-SN+ZH3dD*Dw};|Q9;&?~0$SdHQRx^}@WVTc#{)lE=7i|;FePYJwx)vkJ!ZT`%* z5vtPeJKuljd<_Q+d6EJ{@fO&>Nf;5&i=`_)mZsHIOFGvCbw7y34;m9!dR6WIiP}2) z)XGx(o0nq4b5*)vHgpMOe+dH6R9D0Fyv6n-i+HD~5|`#~qaFibMElNt8DEaR_YNxJ z4W z&iU)FM!P9q5{oF1#o1FYBClQ1Claa02RV){=uZVG&JU;wd zNDmQ#CjYJfE%Jq5v2{mHH@;_k;u9%YhMlUmtFqNV^|QFtuz;GynABn6AGV9Kh9Av3 zp4I;vYJYKBmZEHF+HT_Wwa>R(A~|*|+xFpiuT?GpWKPgg`f?G1%Lx+pf&s z0Dm``oRn{B*e=XEerQy~qC(KdpOw*(}% zx*7qNFz~}8Tj};L(1b`_?Cfl8Jn&Rhl1ks<{~vhtNKF6$ delta 265127 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� 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�vc@YF58HcMf_LR_w^ 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