text:
\section*{Nomenclature}
\addcontentsline{toc}{section}{Nomenclature}
\iffalse
\subsection{Sets and Indices}
\addcontentsline{toc}{subsection}{Sets and Indices}
\begin{IEEEdescription}[\IEEEusemathlabelsep\IEEEsetlabelwidth{$V_1,V_2,V_3,V_4$}]
\item[$\mathcal{N}^{LG}$] Load Group index set
\item[$\mathcal{N}_n$] Subset of nodes $n \in \mathcal{N}^{LG}$
\item[$\mathcal{N}^{DG/PV/ES}$] Set of DG/PV/ES Nodes.
\item[$\mathcal{N}_{GFL}^{ES}$] Set of ES that are Grid Following
\item[$\mathcal{N}$] Set of all nodes s.t. $\cup_{n\in\mathcal{N}^{LG}}\mathcal{N}_n = \mathcal{N}$
\item[$\Phi$] Set of node phases
\item[$\mathcal{D}$] Day index set for overall restoration
\item[$\mathcal{T}/\mathcal{K}_t/\mathcal{H}_{t,h}$] Time index set for Stage-1/Stage-2/RT
\item[$t/k/h$] Time index for Stage-1/Stage-2/RT
\item[$\Delta t, \Delta k, \Delta h$] Time step for Stage-1/Stage-2/RT
\end{IEEEdescription}
\vspace{-0.3cm}
\fi

\addcontentsline{toc}{subsection}{Parameters}
\begin{IEEEdescription}[\IEEEusemathlabelsep\IEEEsetlabelwidth{$V_1,V_2,V_3,V_4,V_5$}]
\item[$\overline{E}^{ES}_i$] kWh rating of ES $i\in\mathcal{N}^{ES}$
\item[$\left\{\underline{F}, \overline{F}\right\}_i$] Min/Max fuel limits of DG $i\in\mathcal{N}^{DG}$
\item[$\overline{S}^{ES/DG}_i$] kVA rating of ES/DG $i\in\mathcal{N}^{ES/DG}$
\item[$\left\{\underline{SoC}, \overline{SoC}\right\}_i$] Min/Max SoC limits of ES $i\in\mathcal{N}^{ES}$
\item[$\alpha_i, \beta_i$] Fuel consumption coefficients of DG
\item[$\gamma_t$] Reserve factor for GFM ES unit
\item[$\alpha^{MSD}$] Minimum service duration of load groups
\item[$\alpha^{up}$] Minimum up time for DG
\item[$w_i$] Priority weight for load groups
\item[$\theta_i$] Power factor angle for DG $i\in\mathcal{N}^{DG}$
\item[$C^{up}$] Start cost for DG
\item[$\lambda_n$] Forecast error normalization factor
\item[$F_f$] Final desired fuel reserve for DG

\end{IEEEdescription}

\addcontentsline{toc}{subsection}{Stage-1 Decision Variables}
\begin{IEEEdescription}[\IEEEusemathlabelsep\IEEEsetlabelwidth{$V_1,V_2,V_3,V_4,V_5$}]
\item[$\{P_{i,t,\phi}, Q_{i,t,\phi}\}^{D}$] Real and Reactive power load demand
\item[$\{P_{i,t,\phi}, Q_{i,t,\phi}\}^{ES}$] Real and Reactive power output of ES
\item[$\{P_{i,t}, Q_{i,t}\}^{DG}$] Real and Reactive power output of DG
\item[$P_{i,t,\phi}^{PV}$] Real Power output of BTM PV
\item[$x_{n,t}$] Status of switch connecting $n^{th}$ LG
\item[$y_{i,t}$] Status of switch controlling $i^{th}$ DG
\item[$C_{i,t}$] Start up cost of $i^{th}$ DG
\end{IEEEdescription}

\addcontentsline{toc}{subsection}{Stage-2 Decision Variables}
\begin{IEEEdescription}[\IEEEusemathlabelsep\IEEEsetlabelwidth{$V_1,V_2,V_3,V_4,V_5$}]
\item[$\{P_{i,k,\phi}, Q_{i,k,\phi}\}^{D}$] Real and Reactive power load demand
\item[$\{P_{i,k,\phi}, Q_{i,k,\phi}\}^{ES}$] Real and Reactive power output of ES
\item[$\{P_{i,k}, Q_{i,k}\}^{DG}$] Real and Reactive power output of DG
\item[$P_{i,k,\phi}^{PV}$] Real Power output of BTM PV
\item[$x_{n,k}$] Status of switch connecting $n^{th}$ LG
\item[$\hat{x}_{n,t}$] Stage-1 schedule of $n^{th}$ switch in $\Delta t$
\item[$\hat{P}_{i,t}^{DG}$] Stage-1 DG schedule in $\Delta t$
\item[$\hat{\epsilon}_t$] Forecast error correction factor in $\Delta t$
\end{IEEEdescription}

\section{Introduction}
\IEEEPARstart{R}{ecent} increase in extreme weather events encourage utilities to take measures to increase the resiliency especially at the distribution level in order to provide service during such extreme events \cite{preston2016}. One promising technology is the microgrids as it facilitates the operation of the healthy part of the system during an extended outage caused by an extreme event \cite{hussain2019, hirsch2018}. Formation of a microgrid becomes more attractive especially on a distribution system with high penetration of renewables, mainly distributed Photovoltaic (PV) \cite{booth2017}.

Another promising technology for forming a microgrid on a distribution feeder on demand is the mobile energy storage (MES) device as it provides the flexibility to change location depending on changing grid or customer conditions \cite{DOER2020, abdeltawab2019, Kim_2019}. Hence, it becomes quite feasible to form a feeder level microgrid during extended outage (day or more) \cite{Che_2019, Lei2018, Lei2019}. If the feeder has large penetration of distributed PV, then forming such a microgrid becomes more attractive \cite{DOER2020}.

Forming a microgrid on a feeder has unique challenges \cite{koutsoukis2019, choi2022}. The main feature is the mobile generation resources that can be brought to the location. A typical approach is to bring a MES with a diesel generator (DG). Both of these resources will have limited capacity and energy that needs to be carefully managed \cite{dugan2021}. Another issue is that the current distribution feeders have only limited circuit switches for control, which makes it challenging to ration the load when needed. Having a large amount of PV on the feeder can help considerably with the microgrid operation. The challenge with utilizing these resources is that most of these resources are not visible (i.e., not monitored) and they are quite intermittent. These conditions make it challenging to operate a feeder-level microgrid during an extended multi-day outage. This paper focuses on this problem.

Existing literature address only some of the challenges identified. In \cite{chen2016a, meng2020} authors focus on black start of a feeder-level microgrid by picking up outage load with limited resources and with cold load pickup consideration in \cite{chen2017, yuan2016}. In \cite{momen2021, poudel2019} load restoration over limited duration is considered and it uses direct load control to selectively restore critical loads. In \cite{kleinberg2011} a similar problem is considered with direct load control but behind-the-meter (BTM) PV is not included.

In \cite{liu2021, liu2021b} load restoration problem over limited duration is considered and a multi-microgrid formation and reconfiguration is adopted by leveraging Distributed Energy Resource (DER) flexibility. The DER flexibility is evaluated and implemented using an aggregator which coordinates with upstream distribution system operator for restoration. For realizing the flexibility of DERs and loads, author assumes energy storage (ES) devices collocated with the PV, thermostatically controllable loads like HVAC can be fully leveraged by the Distribution System Operator (DSO) at each house level. Such coordination, flexibility on demand side and concept of DER aggregators is yet to be implemented in many utilities. This framework also requires significant communication between the aggregators and the DSO. In \cite{koutsoukis2019, choi2022} realistic existing feeder infrastructure is considered in restoration but they do not include the DER uncertainty in the restoration process.

This paper aims at development of a comprehensive microgrid management scheme for the emerging case of operating a feeder level microgrid on an active distribution system to provide service during a severe outage. The main contribution of the proposed method is that all the main issues/challenges associated with such a microgrid is considered and a robust management scheme is developed to address these issues. The contributions include:

\begin{itemize}
  \item Realistic distribution system operating conditions are considered: limited load and PV visibility and controllability, and limited controllable switches on the feeder.
  \item To make best use of the main resources for the microgrid - a DG, and a MES - a novel DG fuel management scheme is adopted to ensure service to loads during peak load conditions over multiple days.
  \item To address the main challenge associated with estimating BTM PV variability, a new forecast error estimation and adjustment strategy to correct the high forecast error has been introduced which significantly increases the amount of PV utilization during restoration.
  \item A dynamic reserve adjustment strategy for the MES is also introduced in order to securely operated the microgrid under severe cloud cover events and to minimize the unintentional load shedding events.
\end{itemize}

The rest of the paper is organized as follows: sec-\ref{sec:probform} introduces the feeder microgrid management problem and the proposed scheme, sec-\ref{sec:MicrogridSecurity} outlines the new robustness enhancement strategies proposed to handle the issues associated with the BTM PV and multi-day restoration using limited resources. Section-\ref{sec:casestudy} illustrates the performance of proposed scheme with a case study which includes the IEEE 123 node system and operating conditions based on field data.

\section{Feeder Microgrid Management Scheme}\label{sec:probform}
\subsection{Operating Conditions}\label{subsec:OprCond}
To ensure realistic operating conditions for feeder level microgrid are included in the management scheme, the following conditions are considered:
\begin{itemize}
  \item Utility owned mobile devices MES and DG are quickly deployed at a proper location on the distribution feeder which has lost power. The MES and DG  are the main resources and are designed to be connected to feeder at substation or other proper location with necessary infrastructure. The microgrid controller with the energy management scheme can monitor and control these resources.
  \item The feeder has high level of BTM PV which will provide supplemental power for the microgrid. These resources are not visible to the microgrid controller, as BTM PV is typically not monitored. Hence, there is a need to forecast at least the net load (actual load minus the power from PV) for the management of the microgrid.
  \item The distribution feeder has only a limited remotely controllable sectionalizing switches. The microgrid controller can use these switches to adjust the load on the feeder, as these switches divide the loads in to load groups which can be disconnected as needed. The feeder has also some critical loads and they should have higher priority in the restoration.
\end{itemize}

\subsection{Energy Management Scheme}\label{subsec:EMS}
We propose a 2-stage hierarchical energy management framework as presented in figure-\ref{fig:EMSframework}. Stage-1 is the scheduler to schedule the microgrid resources for the next period (such as half or one hour) by taking in to account future load and PV forecast. Stage-2 is the short term dispatching stage which determines the proper dispatch levels for MES and the DG for the next dispatch period (of 1 to 5 minutes). After every dispatch cycle ($\Delta k$) and scheduling cycle ($\Delta t$) the real-time (RT) measurements are used to update the initial condition of next dispatch or rolling horizon cycle respectively. These two stages are outlined below.
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/1_Flowchart_enhanced.pdf}
  \caption{Proposed Energy Management Framework}
  \label{fig:EMSframework}\vspace{-0.6cm}
\end{figure}

\subsubsection{Stage-1: Scheduling Problem}\label{subsec:stage1}
The stage-1 problem which solves a receding horizon optimization problem on last day of restoration and a rolling horizon problem on other days of restoration \cite{glomb2022}, to optimally allocate the available resources and control the amount of load to be picked up in each interval through load groups over the considered horizon which is typically 24 hours to ensure the adequate availability of resources over the entire restoration period. The important decision variables in this stage are the switch status $x_{n,t}$ and the scheduled DG output $P^{DG}_{i,t}$. The Load and PV at each node given by $P^{D/PV}_{i,t,\phi}$ is the stochastic variable obtained from forecast information. The objective function is shown in (\ref{eqn:obj}) where the first term maximizes the total expected load  groups to be served denoted by $x_{n,t}$ with higher priority to load groups with critical loads (which have higher weights $w_n$) and second term minimizes the start up cost of diesel generator.
\begin{equation}\label{eqn:obj}
   \max_{x} \quad \sum_{t\in\mathcal{T}} \left[ \sum_{i\in\mathcal{N}_n} x_{n,t} w_{n} \sum_{\phi\in\Phi}P_{i,t,\phi}^{D}\Delta t - \sum_{i\in\mathcal{N}^{DG}} C_{i,t} \right]
\end{equation}

The constraints are defined for $t\in\mathcal{T}$, $\phi \in \Phi$, and $n\in\mathcal{N}^{LG}$ unless explicitly stated. Equation (\ref{eqn:Pbalance}) highlights the real power balance in the network over entire time horizon $\mathcal{T}$. The  circuit switches  $x_{n,t}$ are the binary decision variables. The reactive power balance in the network is shows in (\ref{eqn:Qbalance}). It is assumed that all BTM PVs operate at unity power factor with no reactive power injection.
\begin{subequations}\label{eqn:PowerFlow}
  \begin{align}
  \sum_{i\in\mathcal{N}^{ES}} P_{i,t,\phi}^{ES} + \sum_{i\in\mathcal{N}^{DG}} \frac{P_{i,t}^{DG}}{3} &= \sum_{i\in\mathcal{N}_n} x_{n,t}\left( P_{i,t,\phi}^D - P_{i,t,\phi}^{PV} \right) \label{eqn:Pbalance} \\
  \sum_{i\in\mathcal{N}^{ES}} Q_{i,t,\phi}^{ES} + \sum_{i\in\mathcal{N}^{DG}} \frac{Q_{i,t}^{DG}}{3} &= \sum_{i\in\mathcal{N}_n} x_{n,t} Q_{i,t,\phi}^D \label{eqn:Qbalance}
  \end{align}
\end{subequations}

Equations (\ref{eqn:ESPlim})-(\ref{eqn:ESSlim}) represent the real, reactive, and inverter limits of the energy storage devices $\forall i\in\mathcal{N}^{ES}$. In equation-(\ref{eqn:ESSlim}), $\gamma_t \le 1$ indicates the reserve factor imposed on the inverter which reduces the actual limits of the inverter to account for forecast error and other modeling errors. Further, (\ref{eqn:ESSlim}) is a quadratic constraint which is linearized using the m-sided polygon technique with m = 6 as proposed in \cite{ahmadi2015}.
\begin{subequations}\label{eqn:ESPower}
  \begin{align}
  -x_{n,t}\underline{P}_i^{ES} \le \sum_{\phi\in\Phi}P_{i,t,\phi}^{ES} &\le  x_{n,t}\overline{P}_i^{ES} \label{eqn:ESPlim} \\
  0 \le  \sum_{\phi\in\Phi}Q_{i,t,\phi}^{ES} &\le x_{n,t}\overline{Q}_i^{ES} \label{eqn:ESQlim}\\
  \left(\sum_{\phi\in\Phi}P_{i,t,\phi}^{ES}\right)^2 + \left(\sum_{\phi\in\Phi}Q_{i,t,\phi}^{ES}\right)^2 &\le x_{n,t} \left(\gamma_t\overline{S}^{ES}_i\right)^2 \label{eqn:ESSlim}
  \end{align}
\end{subequations}

Equations (\ref{eqn:SoC})-(\ref{eqn:SoClim}) represent the SoC constraints of the battery $\forall i\in\mathcal{N}^{ES}$. The temporal change in SoC based on the expected output of ES is shown in (\ref{eqn:SoC}) and the absolute SoC limits is defined in (\ref{eqn:SoClim}) where $\eta_i$ is the efficiency of $i^{th}$ ES unit.
\begin{subequations}\label{eqn:ESSoC}
  \begin{align}
    SoC_{i,t} &= SoC_{i, t-1} - \frac{\sum_{\phi\in\Phi}P_{i,t,\phi}^{ES}}{\overline{E}_i^{ES}\eta_i^{ES}}\Delta t \label{eqn:SoC}\\
    \underline{SoC}_i &\le SoC_{i,t} \le \overline{SoC}_i \label{eqn:SoClim}
  \end{align}
\end{subequations}

Equations (\ref{eqn:DGP})-(\ref{eqn:DGFuellim}) represent the diesel generator constraints $\forall i\in\mathcal{N}^{DG}$. Equations (\ref{eqn:DGP}) represents the real power limits of the DG which is dispatched in fixed power factor mode with power factor angle  $\theta_i$ as indicated in (\ref{eqn:DGQ}). The temporal change of fuel based on expected dispatch of diesel generator is shown in (\ref{eqn:DGFuel}) and the fuel limits are imposed using (\ref{eqn:DGFuellim}).
\begin{subequations}\label{eqn:DG}
  \begin{align}
    x_{i,t} \underline{S}_i^{DG} \cos\theta_i &\le P_{i,t}^{DG} \le x_{i,t}\overline{S}_i^{DG}\cos\theta_i \label{eqn:DGP}\\
    Q_{i,t}^{DG} &= P_{i,t}^{DG}\tan\theta_i \label{eqn:DGQ}\\
    F_{i,t} &= F_{i,t-1} - \left(y_{i,t}\alpha_i + \beta_{i}P_{i,t}^{DG}\right)\Delta t \label{eqn:DGFuel}\\
    \underline{F}_i &\le F_{i,t} \le  \overline{F}_i \label{eqn:DGFuellim}
  \end{align}
\end{subequations}

Equation (\ref{eqn:MSD}) represents the minimum service duration (MSD) constraint $\forall n\in\mathcal{N}^{LG}$,  $t\in\mathcal{T}\setminus\{1\}$. When a load group is decided to be picked up by the microgrid, it has to be supplied for a minimum duration of $\alpha^{MSD}$. A constraint to ensure load group connectivity sequence to maintain radiality is also included.
\begin{subequations}\label{eqn:SwitchEquations}
\begin{align}
\sum_{t'=t}^{t+\alpha^{MSD}-1} x_{n,t'} &\ge \alpha^{MSD}(x_{n,t} - x_{n,t-1}) \label{eqn:MSD
\end{align}
\end{subequations}

Equation (\ref{eqn:MinUpTime}) represents the minimum up time ($\alpha^{up}$) constraint and (\ref{eqn:StartUp-1}), (\ref{eqn:StartUp-2}) together compute the startup cost of diesel generators $\forall i\in\mathcal{N}^{DG}$. Every time the diesel generator is switched on, a start up cost of $C^{up}$ is incurred.
\begin{subequations}\label{eqn:DGStartup}
  \begin{align}
    \sum_{t'=t}^{t+\alpha^{up}-1} y_{i,t'} &\le \alpha^{up}(y_{i,t} - y_{i,t-1}) \label{eqn:MinUpTime}\\
    C_{i,t} &\ge C^{up}\left( y_{i,t} - y_{i,t-1} \right ) \label{eqn:StartUp-1}\\
    C_{i,t} &\ge 0 \label{eqn:StartUp-2}
  \end{align}
\end{subequations}

\subsubsection{Stage-2: Dispatching Problem}\label{subsec:stage2}
This stage utilizes a short-term forecast which is generally more accurate than stage-1 forecast for actual dispatching of the resources and switch control closer to real-time operation. The objective function is shown in (\ref{eqn:stage2obj}) where the first term maximizes the amount of load served with higher priority to critical loads. Since the switch control is re-evaluated, the second term minimizes the deviation of load group status from stage-1 results $ \hat{x}_{n,t}$. The third term minimizes the deviation of diesel generator dispatch from the stage-1 scheduled value $\hat{P}^{DG}_{i,t}$.  Here, $k\in\mathcal{K}_t$ is the dispatch interval  as indicated in figure-\ref{fig:EMSframework}.
\begin{multline}\label{eqn:stage2obj}
\max_{x} \quad \sum_{n\in\mathcal{N}^{LG}}\left[ w_nx_{n,k}\sum_{\phi\in\Phi}P_{i,k,\phi}^D - w_n^{sw}\left[ \hat{x}_{n,t} - x_{n,k} \right]^2\right]\\
- \sum_{i\in\mathcal{N}^{DG}} \left[\hat{P}_{i,t}^{DG} - P_{i,k}^{DG} \right]^2
\end{multline}

The real power balance constraint is similar to stage-1 equation (\ref{eqn:Pbalance}) but defined over $k\in\mathcal{K}_t$. The additional term involving  $\lambda_n$ and  $\hat{\epsilon}_t$ is the forecast correction term which is explained in section-\ref{sec:forecastcorrection}.
\begin{multline}\label{eqn:stage2Pbalance}
  \sum_{i\in\mathcal{N}^{ES}} P_{i,k,\phi}^{ES} + \sum_{i\in\mathcal{N}^{DG}} \frac{P_{i,k}^{DG}}{3} \\= \sum_{n\in\mathcal{N}^{LG}}\left[ \sum_{i\in\mathcal{N}_n} x_{n,k}\left( P_{i,k,\phi}^D - P_{i,k,\phi}^{PV} \right) - \lambda_n \frac{\hat{\epsilon}_t}{3}\right]
\end{multline}

The reactive power constraint in (\ref{eqn:stage2Qbalance}) is similar to real power constraint. Note that there is no forecast error correction term here, as  the major issue in forecast comes from BTM PV (as we will see in section-\ref{sec:forecastcorrection}) and there is no reactive power contribution from PV..
\begin{equation}\label{eqn:stage2Qbalance}
  \sum_{i\in\mathcal{N}^{ES}} Q_{i,k,\phi}^{ES} + \sum_{i\in\mathcal{N}^{DG}} \frac{Q_{i,k}^{DG}}{3} = \sum_{n\in\mathcal{N}^{LG}} \sum_{i\in\mathcal{N}_n} x_{n,k} Q_{i,k,\phi}^D
\end{equation}

The constraints (\ref{eqn:ESPower}), (\ref{eqn:ESSoC}), and (\ref{eqn:DG}) can be imported directly from stage-1 problem by replacing subscripts $t, \Delta t, \mathcal{T}$ by  $k, \Delta k, \mathcal{K}_t$ to represent the MES and DG constraints.

\section{Enhancements for Robustness}\label{sec:MicrogridSecurity}
The performance of the main proposed scheme depends heavily on the accuracy of the forecast on the net load, and as indicated earlier this forecast can have significant error. The other challenge is the effective scheduling of the limited fuel of the DG to ensure service to loads over multiple days. To address these challenges, and thus to enhance the robustness of the proposed EMS we propose the following strategies:
\begin{itemize}
  \item Multi-Day Fuel Rationing
  \item Learning-based Forecast Correction
  \item Dynamic Reserve Management
\end{itemize}

\subsection{Multi-Day Fuel Rationing}
For the generation mix of this feeder microgrid we consider a MES, a DG, and many distributed BTM PVs. MES serves as the grid forming (GFM) resource due to its  fast dynamic response, and DG serves as the main energy source. As stated earlier in sec-\ref{subsec:stage1}, we solve a receding horizon problem on final day of restoration and rolling horizon problem on all other days with a horizon of 24 hours primarily because smart meter data is available real-time at 15-min interval. Hence, we can forecast the load in a rolling fashion updated every 30-min to 1hr but PV forecast requires weather information which is impossible to obtain in a rolling fashion by the utility. Also it is very challenging to accurately forecast PV irradiance beyond 24 hour period. For this reason we can only solve a rolling horizon problem with fixed horizon of 24 hours initially. Since the resources need to be rationed over multiple-days we propose a multi-day fuel rationing framework that ensures availability of DG over all days of a restoration process even under significant uncertainty in load and PV. We develop a fuel management algorithm that can efficiently ration the fuel over multiple days.
\begin{equation}\label{eqn:FuelManagement}
F_{i,r} = \left.
\begin{cases}
  F_{i,t-1} - \frac{(F_{i,t-1} - F_{f})(\mid\mathcal{T}\mid d + t - 1)}{ \mid \mathcal{T} \mid \cdot  \mid \mathcal{D}  \mid }, & \text {for } d <  \mid \mathcal{D} \mid\\
  F_f & \text{for } d =  \mid \mathcal{D} \mid\\
\end{cases}
\right.
\end{equation}
\begin{equation}\label{eqn:finalreserveconstraint}
  F_{i, \mid \mathcal{T} \mid } \le F_{i,r}
\end{equation}

Equation-(\ref{eqn:FuelManagement}) highlights a piece-wise linear function defined $\forall i\in\mathcal{N}^{DG}$, $t\in\mathcal{T}$. $F_{i,r}$ is the minimum fuel reserve target at the end of each control cycle in stage-1 scheduling problem, which is enforced as a constraint in (\ref{eqn:finalreserveconstraint}). $F_{i,t-1}$ is the initial fuel at start of each control cycle in stage-1 problem,  $F_f$ is the final reserve desired at the end of multi-day restoration, which can be set to a non-zero value to ration some emergency fuel at the end of restoration to supply only critical loads or to resynchronize the distribution system with main feeder by picking up all the loads in the system. This framework can be extended to energy storage devices acting as grid following (GFL) resources by implementing the same reserve function on SoC of the batteries.

\subsection{Learning-based Forecast Correction}\label{sec:forecastcorrection}
The major issue with BTM PV is lack of real-time data. When individual houses are net metered, it is easier to forecast
the net load but dis-aggregating PV from load and forecasting just the PV component becomes challenging. For the EMS scheme, accurate forecast of the net load variation for each load group is needed. The actual load patterns is usually quite predictable, it is the PV variability that is challenging to forecast for each load group.  We have adopted an effective PV forecast method proposed in \cite{li2021b} for this purpose. The method  uses the irradiance forecast and the PV rating at each house to estimate the BTM PV output. The low accuracy on individual house forecast can become large when aggregated to feeder-level \cite{erdener2022}. Handling such large errors becomes very challenging since we have a MES with limited capacity.
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/3_ForecastErrorCompv2.pdf}
  \caption{High forecast error in short-term and day-head forecast of aggregated BTM PV. \textit{(top)} Real-time net load measurement, stage-1, and stage-2 forecast. \textit{(bottom)} Total net load forecast error in stage-1 and stage-2 forecast. Zoomed plot shows stage-2 forecast more accurate than stage-1 forecast during no PV duration and error is close to zero.}
  \label{fig:forecastError}\vspace{-0.6cm}
\end{figure}

Figure \ref{fig:forecastError} shows the error in aggregated netload forecast which increases significantly during the presence of PV (6:00 - 18:00 on day-1 and day-2). There are two characteristic to the forecast error introduced by the PV. One is the average forecast error due to error in PV rating assumed, unaccounted rooftop PV systems and modeling errors. The other characteristic is the instantaneous random errors introduced by cloud cover events. The errors can be as high as 2 MW on a 3.5 MW circuit.

To address the average forecast error issue we introduce the learning-based forecast correction scheme. The scheme uses the battery SOC to estimate the forecast error in PV. This is based on the following relationship between the two quantities:

\begin{equation}
  \Delta P^{D}_t \approx \kappa\Delta SoC_{j, t+1}
\end{equation}
\begin{thm}\label{thm:SoC}
  In a islanded microgrid with battery as a slack generator and  when the proposed rolling optimization framework is used for energy management, then the difference between the SOC computed at stage-1 and real-time SOC measurement at each dispatch point given by $\Delta SoC_{j,t+1}$ is approximately equal to the sum of average forecast error, average power loss and average modeling error given by $\Delta P^{D}_t$ in the dispatch interval $\Delta t$ with a constant $\kappa = \frac{\overline{E}^{ES}\eta}{\Delta t}$.
\end{thm}

This relationship is derived in the appendix. Hence, using this relationship, we can use this estimated forecast error component from previous iteration to adjust the stage-2 forecast error in the next control cycle as shown in (\ref{eqn:Adjust}). Here, $K$ is the historical window length over which the average is taken.
\begin{equation}\label{eqn:Adjust}
\hat{\epsilon}_t = \frac{\sum_{i=t-K}^{t-1} \Delta P^D_i}{K}
\end{equation}

This average value $ \hat{\epsilon}_t$ is then normalized to each load group based on their connected load (given by $\lambda_n$) and subtracted from the stage-2 forecast as shown in (\ref{eqn:stage2Pbalance}).

\subsection{Dynamic Reserve Management}\label{sec:reserve}
Apart from the large average forecast error during PV in fig-\ref{fig:forecastError}, the other issue is the large fast variations caused by cloud cover events which is difficult to forecast even with accurate weather information. Since these are random events, we cannot modify the forecast values to account for these errors as we did in sec \ref{sec:forecastcorrection} but instead we can prepare the system to be robust against such events.

A common method to account for unknown errors in the system while dispatching is to use a power reserve on the generation resource, which is the MES in this case. The reserve provides a head room to supply unknown forecast errors and modeling errors that are not accounted for in the dispatch. This is incorporated as $\gamma_t$ in (\ref{eqn:ESSlim}) where, $\gamma_t\in[0, 1]$ is the reserve factor for the MES which is responsible for power balance in the microgrid.  Even though reserves are efficient in operating the microgrid securely, a large reserve can significantly affect the number of customers served.

To handle the forecast errors introduced by cloud cover events optimally we propose a dynamic reserve management strategy. The first step is to estimate the random errors from available data. We use the previous historical forecast errors estimates $\Delta P^D_{[t-q, t]}$ to estimate the random spikes using a moving average (MA) model as shown in (\ref{eqn:MAmodel}). The parameters of MA model can be estimated from forecast error estimates obtained from previous few hours.
\begin{equation}\label{eqn:MAmodel}
  \hat{\Delta P^{D}_{t+1}} = \mu + \sum_{i=1}^{q} \theta_i\Delta P_{t-i}^D + \Delta P_{t}^D
\end{equation}

The algorithm to estimate the required reserve given in alg-\ref{alg:DRM} is based on comparing previous interval net load forecast $\hat{P}^{net}_t$ given in (\ref{eqn:netload}) to the actual power measurement at PCC given by $P^{net}_t$ which is the actual total net load in the circuit.
 \begin{equation}\label{eqn:netload}
  \hat{P}^{net}_t = \sum_{i\in\mathcal{N}}^{} \left(P^{D}_{i,t} - P^{PV}_{i,t}\right)
\end{equation}

High reserve requirements are required during two conditions, when actual load is more than expected and when actual PV is lower than expected. In both these conditions net load of microgrid is more than expected. When net load is lower than expected a high reserve will hinder the optimality of the solution. This is further validated in our case study in sec \ref{subsec:perfeval}. So it is critical to dynamically modify the reserve to securely and optimally restore the loads. By comparing the forecasted net load and the actual measured total net load from previous control cycle, we can decide the level of reserve requirement as shown in algorithm \ref{alg:DRM}. This is based on the assumption that net load behavior in the next control cycle $\Delta t$ will be approximately same as previous control cycle $\Delta t$ following a trend. When the trend is higher net load than expected then the reserve is dynamically modified depending on expected forecast error and left at minimum value $\alpha$ in other scenarios.

Even though this method will address the dynamic forecast errors to some extent, we need a back up protection like under frequency load trip or other load shedding algorithm to securely operate the microgrid since it is very difficult to predict the instantaneous cloud cover events from average power measurements.
 \begin{algorithm}[htbp]
 \caption{Dynamic Reserve Management}
 \label{alg:DRM}
 \begin{algorithmic}[1]
 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
 \renewcommand{\algorithmicensure}{\textbf{Output:}}
 \REQUIRE Net load forecast $\hat{P}^{net}_{t}$, Net load measurements  $P^{net}_{t}$, and Forecast error estimate $\Delta \hat{P}^D_{t+1}$
 \ENSURE  Power Reserve Factor $\gamma_t$

  \FOR {$t = k$ to $ \mid \mathcal{H} \mid $}
  \IF {($P^{net}_t > \hat{P}^{net}_t$)}
  \STATE $\gamma_t = (1-\Delta \hat{P}^D_{t+1})$
  \ELSE
  \STATE $\gamma_t = 1-\alpha$, where $\alpha$ is minimum reserve desired.
  \ENDIF
  \STATE $\gamma_t = \mathbb{P}[\gamma_t]$ where $\mathbb{P}$ operator thresholds any input to the set $[\underline{\gamma_t}, \overline{\gamma_t}]$

  \RETURN $\gamma_t$
  \ENDFOR
 \end{algorithmic}
 \end{algorithm}

\section{Case Study and Performance Evaluation}\label{sec:casestudy}
To illustrate the performance of the proposed energy management scheme a case study is conducted. The sample system is the IEEE 123 node system shown in fig-\ref{fig:IEEE123}. The power to the system is assumed to be unavailable due to outage and to supply power to the loads during outage, utility brings in a mobile MES and a DG to form the microgrid. Distribution feeder has 5 controllable switches and they divide the feeder into 5 load groups as indicated on the figure.  Really high PV penetration of 80-100\% is considered in each load zone as shown in fig-\ref{fig:IEEE123}. The system resources are summarized in table-\ref{tab:Resources} and the simulation parameters are given in table-\ref{tab:simParam}.
\begin{table}[htpb]
  \centering
  \caption{Location of Resources}\label{tab:Resources}
  \begin{tabular}{c|c|c|c}
    \hline
    Resource & Location & Rating (kW) & \begin{tabular}{@{}c@{}}Rating\\ (L/kWh)\end{tabular}\\
    \hline
    \hline
    \begin{tabular}{@{}c@{}}Critical\\ Load Nodes\end{tabular} & 48, 65, 76 & 210, 140, 245 kW& - \\
    \hline
    Battery & Substation & 2000 kW& 8000 kWh\\
    \hline
    \begin{tabular}{@{}c@{}}Diesel\\Generator\end{tabular} & Substation & 4000 kW & 10000 L\\
    \hline
    Rooftop PV & All nodes & 19 - 111 kW & - \\
    \hline
  \end{tabular}
\end{table}

\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/6_SystemDescription.pdf}
  \caption{Modified IEEE 123 Node Test Feeder}
  \label{fig:IEEE123}\vspace{-0.6cm}
\end{figure}

\begin{table}[htpb]
  \centering
  \caption{Simulation Parameters}
  \label{tab:simParam}
  \begin{tabular}{c|c|c|c}
  \hline
   Parameter & Value & Parameter & Value \\
   \hline
   \hline
   $\Delta t$, $\Delta k$, $\Delta h$ & 30, 5, 1 min  & $\mathcal{T}$, $\mathcal{K}_t$ & 24 hr, 30 min\\
   \hline
   $w_1$,$w_5$ & 0.01 & $\alpha^{up}$ & 1 hr\\
   \hline
   $w_2$,$w_3$,$w_4$ & 0.4, 0.3, 0.2 & $\alpha^{MSD}$ & 2 hr\\
   \hline

   $\alpha_i$, $\beta_i$ $\forall i \in \mathcal{N}^{DG}$ & 84.87, 0.20 &  $C^{up}$ & 6\\
   \hline
  \end{tabular}
\end{table}

The outage is assumed to be for a 48 hour period starting at midnight. The forecast of load and PV for 4 day period is shown in fig. \ref{fig:forecastErr}. The forecast are obtained using the algorithm proposed in \cite{li2021b} trained on pecan street summer data for load and corresponding weather data from nearby weather station in Texas for irradiance forecast. As indicated in the figure, stage-1 load forecast are obtained in a rolling manner every 30-min using smart meter data while stage-1 irradiance forecast is obtained in a day-ahead stage since there is no real-time data to update the forecasts. The day ahead forecast is repeated to obtain a rolling forecast. Stage-2 load and irradiance are short term forecast obtained closer to real-time.
The total installed capacity of PV at each node is utilized to get the final stage-1 and stage-2 PV forecast from irradiance information. The following inference can be made from the load and PV forecast results in fig. \ref{fig:forecastErr}:
\begin{itemize}
  \item The forecast error in load is small due to availability of real-time smart meter data.
  \item Stage-2 forecast of load is much closer to real-time data compared to stage-1 forecast. While, short-term stage-2 forecast in PV provides no improvement from stage-1 forecast due to unavailability of real-time information to update the forecast.
  \item The PV is consistently over estimated since rating of PV might be smaller than actual installed capacity which leads to significant error when multiplied with irradiance forecast. Also, one irradiance profile is used to obtain the output of all PV units which leads to further error in forecast.
  \item The cloud cover events are difficult to forecast from weather data and eventually shows up as instantaneous random forecast errors in net load.
\end{itemize}
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/7_ForecastErrorComparisonv2.pdf}
  \caption{Total Load Forecast (\textit{top}), and PV Forecast (\textit{bottom}) against real-time data for 4 days.}
  \label{fig:forecastErr}
\end{figure}

The simulations are carried out using a PC with Intel Core i7-11700F CPU @ 4.8 GHz processor and 64 GB RAM. The prposed schemes are implemented and solved in Matlab using the Yalmip environment with GUROBI 9.5 solver. The microgrid is simulated using OpenDSS and it is interfaced  with Matlab using the COM Interface. The simulations are run for 48 hours starting at Day-1 in fig. \ref{fig:forecastErr}.

To assess the performance of the proposed scheme, the following performance metrics are used: $P^{CL}_{\%}$ and  $P^{NCL}_{\%}$ are the percentage of critical and non-critical loads (NCLs) served. $P^{PV}_{\%}$ is the percentage of available PV utilized during restoration. $T^{CL}$ and $T^{NCL}$ are the average served duration of CL and NCL. $N^{CL}$ is the number of interruptions in serving critical loads (CLs) and $N^{\mu G}$ is the number of times microgrid is shutdown. $I^{\mu G}$ is the total duration microgrid was shutdown due to unavailability of resourcses.

\iffalse
\subsection{Fuel Management Performance}
 The performance of the proposed fuel management scheme is evaluated against a simple fixed reserve strategy. Following there cases are simulated:
\begin{itemize}
  \item \textbf{Case-1}: Fixed target reserve through out two day restoration $F_{i,r} = 500$L.
  \item \textbf{Case-2}: Proposed Equal rationing as per (\ref{eqn:fuelRation})
  \item \textbf{Case-3}: Proposed Multi-day fuel rationing as per (\ref{eqn:FuelManagement}).
\end{itemize}
\begin{table}[htpb]
  \centering
  \caption{Fuel Management Performance}
  \label{tab:fuelmanagement}
  \begin{tabular}{c|c|c|c}
  \hline
  Metric & Case-1 & Case-2 & Case-3 \\
  \hline
  \hline
  $P^{CL}_{\%}$ & 75.43\% & 78.35\% & \bf{79.2}\% \\
  $P^{NCL}_{\%}$ & 73.21\% & 73.7\% & \bf{75.24}\% \\
  $P^{PV}_{\%}$ & 84.62\% & 84.1\% & \textbf{86.92}\% \\
  $T^{CL}$ & 38h 35m & \textbf{39h 10m} &\bf{39h 10m} \\
  $N^{CL}$ & \bf{20} & 23 & 27 \\
  $N^{\mu G}$ & 5 & \bf{3} & \bf{3}\\
  $I^{\mu G}$ & 2h 40m & \bf{2h 30m} & \textbf{2h 30m} \\
  \hline
  \end{tabular}
\end{table}

From table-\ref{tab:fuelmanagement} it is evident that for most of the metrics, proposed multi-day strategy as per (\ref{eqn:FuelManagement}) performs better than the base case and the equal rationing method as per (\ref{eqn:fuelRation}). With intelligent fuel management the percentage of critical served is increased significantly by about 4\%. The amount of BTM PV utilized for restoring loads and charging the battery is also higher than base case. The duration of critical load and microgrid shutdown is also considerably decreased. This shows the importance of multi-day fuel rationing when only a day-ahead forecast is available. Even though critical load served is not 100\%, this doesn't mean the loads are under outage during the restoration process. Since this EMS is from a utility perspective, utility will communicate the hours critical loads will not be served as scheduled outages from scheduling framework and the critical loads will use the local generation during these outage hours. Nevertheless, we want to minimize this duration since the local generation at critical loads can be limited or unavailable.
\fi

\subsection{Performance Evaluation}\label{subsec:perfeval}
To demonstrate the effectiveness of the forecast error adjustment and dynamic reserve management strategies, we considered 4 different cases:
\begin{itemize}
  \item \textbf{Base Case}: Fixed power reserve of 400kW ($\gamma_t = 0.8$), no forecast error correction is included to correct the stage-2 forecast, and fixed target fuel reserve through out two day restoration $F_{i,r} = 500L$.
  \item \textbf{Case-1}: Fixed power reserve of 400kW ($\gamma_t = 0.8$) through out the two day restoration period. But, stage-2 forecast is corrected in every stage-1 control cycle based on historical estimation using a window length of 5 hrs. Fuel reserve management as per eqn-(\ref{eqn:FuelManagement}).
  \item \textbf{Case-2}: 20\% of current stage-1 net load forecast is kept as reserve in stage-2, no forecast error correction included to correct the stage-2 forecast, and fuel reserve management as per eqn-(\ref{eqn:FuelManagement}).
  \item \textbf{Case-3}: Reserve is adjusted dynamically based on algorithm-\ref{alg:DRM}. Stage-2 forecast is corrected similar to case-2. Fuel reserve management as per eqn-(\ref{eqn:FuelManagement}).
\end{itemize}

 The 48 hour restoration is simulated using the proposed management scheme and  using the load and PV profiles shown in fig-\ref{fig:forecastErr}. The results are summarized in table-\ref{tab:caseStudy}. To evaluate the performance we introduce additional metrics such as $N^{\mu G}_{UnSch}$ which is the number of unique unscheduled shutdown of microgrid due to under frequency load shedding which is assumed to last for 30 min and the total duration of such unscheduled shutdown is given by $T^{\mu G}_{UnSch}$. $T^{\mu G}_{Total}$ is the sum of total scheduled $T^{\mu G}_{Sch}$ and unscheduled $T^{\mu G}_{UnSch}$ shutdown of the microgrid.
 \vspace{-0.4cm}
\begin{table}[htbp]
\caption{Different cases to evaluate forecast error correction and dynamic reserve management module}
\label{tab:caseStudySetup}
\begin{tabular}{c|c|l|c}
\hline
\textbf{Cases} & \textbf{\begin{tabular}[c]{@{}c@{}}Error\\ Correction\end{tabular}} & \multicolumn{1}{c|}{\textbf{Fuel Management}} & \textbf{\begin{tabular}[c]{@{}c@{}}Reserve\\ $1-\gamma_t$\end{tabular}} \\
\hline\hline
Base Case         & No                                                                           & Fixed $F_{i,r} = 500L$                        & 400 kW                                                                  \\
Case-1         & Yes                                                                          & As per eqn (\ref{eqn:FuelManagement})                        & 400 kW                                                                  \\
Case-2         & No                                                                           & As per eqn (\ref{eqn:FuelManagement})                & $0.2\sum(\hat{\boldsymbol{P}}^D - \hat{\boldsymbol{P}}^{PV})$                           \\
Case-3         & Yes                                                                          & As per eqn (\ref{eqn:FuelManagement})                                   &  as per algorithm-\ref{alg:DRM}                                                                      \\\hline
\end{tabular}
\end{table}
\vspace{-0.4cm}

\subsection{Fuel Management}\label{subsec:fuelmanagemnet}
Figure-\ref{fig:fuelUsage} shows the actual usage of fuel over a two day period for day-1 simulation between base case with fixed reserve and case-4 with proposed fuel management and corresponding DG output. The DG is predominantly used to either charge the battery while serving low load or to completely serve the peak load in the circuit. From the figure it is evident that the proposed fuel scheme ensures higher fuel reserve for second day of restoration compared to fixed fuel reserve scheme. This directly leads to about 7\% increase in critical load served which is highlighted in table-\ref{tab:caseStudy}. The duration of critical loads served is also considerably increased. This shows the importance of mulit-day fuel rationing when only a day-ahead forecast is available.
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/10_fuelReserve.pdf}
  \caption{(\textit{top}) Comparison of DG dispatch between different fuel management schemes. (\textit{bottom}) Comparison of DG Fuel usage over two day restoration with different fuel management schemes.}
  \label{fig:fuelUsage}\vspace{-0.5cm}
\end{figure}

From the table we see that critical loads are not served 100\%, this doesn't mean the loads are under outage during the restoration process. Since this EMS is from a utility perspective, utility will communicate the hours critical loads will not be served as scheduled outages from scheduling framework and the critical loads will use the local generation during these outage hours. Nevertheless, we want to minimize this duration since the local generation at critical loads can be limited or unavailable.

\subsection{Forecast Error Adjustment and Reserve Management}\label{subsec:reservemanagement}
In table-\ref{tab:caseStudy}, both on day-1 and day-3 we see that Case-2 with forecast error adjustment performs extremely well across all metrics compared to Case-1 without any error adjustment. There is both significant increase in load served and PV utilized during restoration which highlights the importance of forecast error adjustment. Both the cases suffer from unscheduled outages due to violation of battery limits caused by high forecast error which leads to about 2 to 3 hours of unscheduled shutdown on day-1.  Unscheduled outages are a inconvenience to the customer, especially to critical loads, and hence it is desirable to reduce such unscheduled outages during restoration .
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/8_day1ErrorEstv2.pdf}
  \caption{(\textit{top}) Average Net Load Forecast Error Estimation from Battery SoC on Day-1 48 hr restoration. (\textit{bottom}) Comparison of Stage-2 net load forecast error before and after correction using SoC based average forecast error estimation.}
  \label{fig:day1Est}
\end{figure}
\begin{table*}[htpb]
\centering
\caption{Case study of Energy Management with different robustness enhancement modules over multiple days}
\label{tab:caseStudy}
\begin{tabular}{l|cccc||cccc}
\hline
\multicolumn{1}{c|}{\multirow{2}{*}{Metric}} & \multicolumn{4}{c||}{Day-1}                                                                           & \multicolumn{4}{c}{Day-3}                                                                           \\ \cline{2-9}
\multicolumn{1}{c|}{}                        & \multicolumn{1}{c|}{Base Case}  & \multicolumn{1}{c|}{Case-1}  & \multicolumn{1}{c|}{Case-2}  & Case-3  & \multicolumn{1}{c|}{Base Case}  & \multicolumn{1}{c|}{Case-1}  & \multicolumn{1}{c|}{Case-2}  & Case-3  \\ \hline\hline
$P^{CL}_{\%}$                                 & \multicolumn{1}{c|}{72.73\%} & \multicolumn{1}{c|}{78.13\%} & \multicolumn{1}{c|}{76.78\%} & \textbf{79.2}\% & \multicolumn{1}{c|}{71.69\%} & \multicolumn{1}{c|}{75.59\%} & \multicolumn{1}{c|}{72.59\%} & \textbf{76.44}\% \\
$P^{NCL}_{\%}$                                & \multicolumn{1}{c|}{71.1\%} & \multicolumn{1}{c|}{74.63\%} & \multicolumn{1}{c|}{72.88\%} & \textbf{75.244}\%  & \multicolumn{1}{c|}{67.76\%} & \multicolumn{1}{c|}{70.55\%} & \multicolumn{1}{c|}{68.45\%} & \textbf{71.38}\% \\
$P^{PV}_{\%}$                                 & \multicolumn{1}{c|}{78.33\%}  & \multicolumn{1}{c|}{86.06\%} & \multicolumn{1}{c|}{79.63\%} & \textbf{86.92}\% & \multicolumn{1}{c|}{81.88\%} & \multicolumn{1}{c|}{88.27\%} & \multicolumn{1}{c|}{83.68\%} & \textbf{90.35}\% \\
$T^{\mu G}_{sch}$                             & \multicolumn{1}{c|}{2h 40m}  & \multicolumn{1}{c|}{\textbf{1h 30m}}  & \multicolumn{1}{c|}{2h 10m}  & 2h 30m  & \multicolumn{1}{c|}{4h 5m}   & \multicolumn{1}{c|}{4h 5m}   & \multicolumn{1}{c|}{3h 30m}  & \textbf{3h 30m}  \\
$N^{\mu G}_{sch}$                             & \multicolumn{1}{c|}{4}       & \multicolumn{1}{c|}{4}       & \multicolumn{1}{c|}{4}       & \textbf{3}       & \multicolumn{1}{c|}{6}       & \multicolumn{1}{c|}{5}       & \multicolumn{1}{c|}{5}       & \textbf{2}       \\
$T^{CL}$                                      & \multicolumn{1}{c|}{37h 15m} & \multicolumn{1}{c|}{38h 40m} & \multicolumn{1}{c|}{38h 15m} & \textbf{39h 20m} & \multicolumn{1}{c|}{34h 45m} & \multicolumn{1}{c|}{36h 5m}  & \multicolumn{1}{c|}{35h 25m} & \textbf{37h 5m}  \\
$N^{CL}$                                      & \multicolumn{1}{c|}{8}       & \multicolumn{1}{c|}{\textbf{8}}       & \multicolumn{1}{c|}{8}       & 9       & \multicolumn{1}{c|}{10}      & \multicolumn{1}{c|}{8}       & \multicolumn{1}{c|}{9}       & \textbf{7}       \\
$T^{\mu G}_{UnSch}$                           & \multicolumn{1}{c|}{1h}  & \multicolumn{1}{c|}{30m}     & \multicolumn{1}{c|}{2h}      & \textbf{0}       & \multicolumn{1}{c|}{1h 30m}  & \multicolumn{1}{c|}{1h}      & \multicolumn{1}{c|}{1h 30m}  & \textbf{30m}     \\
$N^{\mu G}_{UnSch}$                           & \multicolumn{1}{c|}{2}       & \multicolumn{1}{c|}{1}       & \multicolumn{1}{c|}{4}       & \textbf{0}       & \multicolumn{1}{c|}{3}       & \multicolumn{1}{c|}{2}       & \multicolumn{1}{c|}{3}       & \textbf{1}       \\
$T^{\mu G}_{Total}$                           & \multicolumn{1}{c|}{3h 40m}  & \multicolumn{1}{c|}{\textbf{2h 10m}}  & \multicolumn{1}{c|}{4h 10m}  & 2h 30m  & \multicolumn{1}{c|}{5h 35m}  & \multicolumn{1}{c|}{5h 5m}   & \multicolumn{1}{c|}{5h}      & \textbf{4h}      \\ \hline
\end{tabular}
\end{table*}

The reason for better performance of Case-2 is the forecast error adjustment strategy. Figure-\ref{fig:day1Est} shows the forecast error estimated from SoC measurements compared against the actual forecasts. This figure highlights that the estimation strategy is good at estimating the average forecast error but cannot account for the instantaneous errors. Also, after adjustment the stage-2 forecast error is close to zero compared to before correction. The high average error during PV is captured in this case and by adjusting the forecast we are able to absorb about 8\% higher PV on day-1, which eventually leads to increase in load served and better performance. The percentage increase on day-3 results is lower because the actual PV available on day-4 being a cloudy day is low.

Case-3 is a simple reserve management strategy where we keep a percentage of net-load forecast as reserve with an intuition that high reserve is required at high PV and high load duration which are mutually exclusive. But Case-3 seems to perform much poorer than Case-2 which just has fixed reserve through out the restoration. Having a high reserve hinders optimality which is visible in the percentage of load served and PV absorbed but such high reserve in case-3 must reduce the number of unscheduled outages which it fails to do so compared to case-2. For this purpose we use the proposed dynamic reserve management strategy (Case-4) which retains the benefits (day-1) and sometimes performs better (day-2) than Case-2 in terms of percentage load served and PV absorbed but the main benefit of case-4 is the reduction in number and duration of unscheduled outages. It is important to note that proposed strategy cannot completely eliminate the unscheduled outages because in some instances the forecast error can be so high that limited resources cannot handle such errors through reserves and we rely on under-frequency load shedding during these events.
\begin{figure}[htpb]
  \centering
  \includegraphics[width=3.5in]{_figs/9_reserves.pdf}
  \caption{Dynamic reserve adjustment (\textit{top}) compared against actual forecast error (\textit{bottom})}
  \label{fig:reserve}
\end{figure}

The reserves of case-3 and case-4 are shown in fig-\ref{fig:reserve}. Case-3 keeps a high reserve even during low forecast error regions between 18:00-6:00 which hinders the performance of the algorithm. Also, during cloud cover events with high spikes the reserve is not high enough which leads to unscheduled outages. In contrast case-4 keeps the reserve to minimum during low forecast error regions (no PV) and a high reserve only during significant cloud cover events that happens during net load zero region which is the main cause of battery violations since diesel generator is not dispatched during this low net load conditions. Hence, the algorithm intelligently keeps a high reserve around 9:00 and 16:00 where net load is zero. The other cloud cover events around 12:00 noon is not significant since the actual forecast of PV is higher than load and keeping high reserve will only hinder optimality.

\section{Conculsion}\label{sec:conclusion}
This paper proposes a two-stage intelligent energy management strategy for a feeder microgrid to be deployed on a distribution feeder to provide service during a long outage.  To assure that the proposed method has robust performance, three special schemes have been introduced to addresses the unique challenges associated with management of these microgrids:  The multi-day fuel rationing scheme assures that the load in the circuit is served over multiple days of the restoration which increases the overall service to critical loads and improves PV utilization. The novel state-of-charge based forecast error estimation strategy which learns the forecast error online and adjusts the near real-time forecast significantly increases the BTM PV utilization during the restoration. The dynamic reserve management strategy introduced to  handle sudden cloud cover events that can lead to unscheduled outages of the microgrid. A case study on a sample system illustrates the effectiveness of the proposed scheme, as it shows that the proposed error correction based reserve adjustment is quite effective even when there is high variability in PV and considerably reduces the number of unscheduled outages during the restoration process.

redpajama_set_name: RedPajamaArXiv


text:
Q: Which one would be correct to ask Which sentence is correct
1) With North Korea and South Korea agreeing to resume the talks, chances of peace flourishing in the region have once again revived.
2)With North Korea and South Korea's agreeing to resume the talks, chances of peace flourishing in the region have once again revived.
=> Mind the only difference between the two is a little apostrophe after the word "korea"

A: "Agreeing" is not a noun so you cannot use possessive with it therefore the second variant is not correct.
You could use "agreement" instead; then it would be okay.

redpajama_set_name: RedPajamaStackExchange


text:
Journal Titles A-Z
Start Researching
Email a Librarian
Large (4+) Group Study Room
Small (1-3) Group Study Room
Individual Study Room
Cornette Library
Plagiarism: Finding the Original Source
Cornette Library & Faculty Development Committee Seminar, March 22, 2002
Plagiarism is not new, but technology now allows students to easily copy and paste text from a variety of electronic sources. Catching plagiarism is often a time-consuming task for faculty. The purpose of this guide is to acquaint you with ways in which you can find the original sources of your students' plagiarized works. If you have any questions, please call Cornette Library's Research & Access Desk at (806) 651-2215. We are willing to assist with your search.
Presenting work, ideas or phrasing of another, in whole or in part, as one's own without giving credit and proper documentation of sources.
Copying material directly from sources (including electronic media) except when the material is enclosed in quotation marks and the source is clearly identified. Failure to use quotation marks or appropriate methods of documentation shall be construed as attempted plagiarism.
Paraphrasing too closely to the original, even when the source is identified.
Claiming credit for work in any media (electronic, digital, artistic, etc.) where the student is not the original creator of said work.
Code of Student Life PDF document on page 17 of the PDF, in APPENDIX I-ACADEMIC INTEGRITY CODE
Web Search Engines & Metasearch Tools
Students are more likely to plagiarize from an online source such as the Web because it is easy to copy and paste text. A good technique for finding plagiarized sources is to search for a phrase using Web search engines. Don't assume that the plagiarized source is not on the Web if you retrieve nothing from a single search engine. No search engine covers the entire Web. You might wish to begin with Dogpile or Mamma, tools for searching numerous Web search engines at once.
Metasearch Tools
Online Book Reviews
The Web is an excellent source for full-text book reviews. Online book stores, like Amazon.com, provide publisher or reader reviews of books. Some are well written and lengthy. For reviews of more recent books in the humanities and social sciences, try H-Net Reviews, an online scholarly review journal. Bookspot links to magazines, newspapers, and other book review Web sites.
If you assign specific books to be reviewed by your students, start a collection of reviews from various sources. Check the online bookstores occasionally since reader reviews are added from time to time.
Online Book Stores
Other Book Review Web Sites
H-Net Reviews - Humanities & Social Sciences
Bookspot Book Reviews - links to newspapers, magazines, and other book review Web sites
Term Paper Mills
Considering the number of term paper mills available on the Web, a thriving market for plagiarism exists. These sites provide essays, term papers, and other materials free or for a price. Some of the sites include warnings about copyright and plagiarism.
The papers offered by term paper mills vary in length, quality, and inclusion of references. Some of the pay sites provide summaries of papers that may offer clues as to whether they are the original source of your student's paper. Rather than searching numerous term paper mill sites, try a search in a Web search engine use the words "term paper" or "research paper" along with words that describe the student's topic.
Full-Text Databases
Cornette Library now offers access to nearly 100 databases many of which include the full-text of books, encyclopedia articles, book reviews, and articles from journals, magazines, and newspapers. This of course makes cutting and pasting a simple task. Become familiar with the databases in your discipline and related disciplines. Also don't overlook general databases that cover many disciplines. One of the most popular of these is Academic Search Premier, which is included on many course guides created for Library Instruction sessions. Also if your students are doing annotated bibliographies, check the abstracts of articles included in the databases.
Cornette Library Databases
The search box on the home page will search most databases at once.
Print Reference Sources
While students are more likely to go for online sources, don't forget print sources. One of the most popular of these is CQ Researcher. These weekly reports cover social issues, foreign policy, economics, the environment, health and medical care, and many more topics that are controversial or frequently in the news. This publication appears on many of the library's course guides including those for COMM 1315 and English 1302, courses that many WTAMU students take. Subject encyclopedias and other basic information sources shelved in Reference are also possible beginning points for plagiarized work. Ask at the Reference Desk for suggestions on where to look.
Cornette Library Reference Sources
CQ Researcher (also available electronically at Congressional Quarterly Electronic Library)
Subject encyclopedias and other basic information sources in the Reference collection
Plagiarism Detection Software
Just as technology has made plagiarism easier for students, it has also allowed creation of software designed to detect plagiarism. Some companies offer free trials of their software. You may wish to try out some of the programs listed at the right. Listing here is not an endorsement of these products.
Glatt Plagiarism Services
Austin, M. Jill, and Linda D. Brown. "Internet Plagiarism: Developing Strategies to Curb Student Academic Dishonesty." The Internet and Higher Education 21 (1999): 21-33.
Buranen, Lise, and Alice M. Roy, eds. Perspectives on Plagiarism and Intellectual Property in a Postmodern World . Albany, NY: State U of New York P, 1999.
Harris, Robert A. The Plagiarism Handbook: Strategies for Preventing, Detecting, and Dealing with Plagiarism . Los Angeles: Pyrczak, 2001.
Koch, Kathy. "Cheating in Schools." CQ Researcher 10 (2000): 745-768.
Lathrop, Ann, and Kathleen Foss. Student Cheating and Plagiarism in the Internet Era: A Wake-Up Call . Englewood, CO: Libraries Unlimited, 2000.
Young, Jeffrey R. "Anti-Plagiarism Experts Raise Questions about Services with Links to Sites Selling Papers." Chronicle of Higher Education 12 Mar. 2002. 14 Mar. 2002.
Back to Top and main menu
Authored by WT Librarians. All contents © 1996-2020, WTAMU. All rights reserved.
Library's Facebook
Library's Twitter
Library's Blog
Pippa's Coffee Shop
Counseling & Mental Health Services (HB 2895)
Site Index (Library)

redpajama_set_name: RedPajamaCommonCrawl


text:
DIFFERENT TWINS: CONTINUE THE WHOLE TOUR WITH A FEW MODIFICATIONS
The bizarre weather of this summer 2013 has side effects in... rain! Also on the Tutto Da Capo Tour of the Gemini DIVersiThe programme is proceeding with some changes to the calendar: the rescheduled date for the concert in Macerata last Saturday as part of the Maracuja Festival, which was hit by a violent downpour, has been set for 23 July. The concert scheduled for Friday, July 19 in Rezzato (Brescia) has been cancelled, but with a small benefit for those who had bought the ticket in advance: they can replace it with the one for the concert on December 2 at Alcatraz in Milan, at no extra cost. The replacement of the tickets (or the request for a refund) must take place no later than Friday, August 2, by making a request directly to the point of sale that issued them. (for further information call 02 6884084 or 030 2791881)
The remaining dates of the summer tour are regularly confirmed: August 10 in Gallese (VT), August 15 in Delianuova (RC), September 16 in Zafferana Etnea (CT) and September 6 at the Castle of Pavia, as well as the two dates that will seal the end of the tour on November 23 at Atlantico Live in Rome and December 2 at Alcatraz in Milan.
The "Tutto Da Capo Tour", organised by Barley Arts, brings Thg (DJ), Strano (singer), Thema and Grido (rapper) back on the scene, in contact with an audience that is increasingly participating in the concerts of a band, the Gemelli DiVersi, that continues not to disappoint.
The Gemelli DiVersi, born in 1998 under the aegis of Best Sound, the historic label that gave birth to many Milanese hip hop groups from the 90s to today, can count on a 15-year career and an untold number of hits that any fan at their concerts sings at the top of his voice. These include the singles from their latest Sony album 'Tutto Da Capo': 'Spaghetti Funk Is Dead', 'Per farti sorridere', 'V.A.I.' and 'Alla Goccia' have topped the radio charts and struck a chord with new followers. The video for "Va Tutto Bene" an amusing animation entirely created by Grido, who designed and drew the avatars of the whole band, has already totalled more than 130 thousand views ( www.youtube.com/watch)?
Tickets for the concerts are available at Ticketone outlets and other authorized circuits throughout Italy.
The complete Tutto Da Capo Tour schedule is updated on the official website www.gemellidiversi.it or on the official facebook page facebook.com/gemellidiversi


1 May During the past twenty-five years, U.S. strategists have argued that avoiding nuclear war depends on deterring a Soviet first strike by ensuring. Bruce Blair, who once served in the Strategic Air Command as a Minuteman launch control officer and is a current Defense Department official, has written an . Strategic Command & Control. Elbit Systems EW and SIGINT - Elisra's (Elisra) has advanced capabilities in Ballistic Missile Defense (BMD) Command, Control, .
Strategic Command and Control [Bruce Blair] on jasperactivitiesscene.com *FREE* shipping on qualifying offers. During the past twenty-five years, U.S. strategists have. S, The Evolution of Soviet Strategic Command and control and warning, (U) In this study, the term "strategic" refers only to the forces and. STRATEGIC COMMAND AND CONTROL. Strategic thinking in the United States on how to deter the use of nuclear weapons in war has moved from reliance on.
The Strategic Automated Command and Control System (SACCS) is a United States Strategic Command command and control system to coordinate the. United States Strategic Command (USSTRATCOM), is one of ten unified commands in the the other combatant commands, including strategic warning; integrated missile defense; and global command, control, communications, computers. distribution is unlimited. U.S. and Soviet StrategicCommand and Control. Implications for a Protracted Nuclear War by. Kirk S. Lippold. Lieutenant, United States. Located at Offutt Air Force Base near Omaha, Neb., U.S. Strategic Command is of the U.S. legacy nuclear command and control mission with responsibility for. 10 Nov U.S. Strategic Command, in coordination with other combatant commands, services and appropriate U.S. government agencies concluded.


According to Fluxus, Art is right on the place where you are working, where you are asserting your existence, your being in the world, where you dwell instead of being dwelt… Art is therefore a territory that makes it possible to dwell the world and oneself actively. It is a space where encounters can happen. It is not a pre-built space but an evervirgin ground, which has to be re-invented continually.
To consider our "audiences" not just as consumers of cultural goods but as persons who can enjoy their fundamental rights to freedom and dignity, and to go beyond the sensitive experience they are going through, implies to pay attention to the expression of their "effective freedom". This is why we imagine different situations for discussion and sharing, where there is space for the expression of freedom for each persons (and this includesthe members of the team).
These critical eye and voice workshops are made as an introduction to an audiovisual poetic and sensitive language, away from film and television mainstream offerings. They are also made to support free expression about artworks and to develop through exchanges the critical-thinking tools which are essential to explore one own understanding within over-mediatised images. We believe that in raising curiosity, and stimulating the overcoming of clichés which hinder inter-cultural encounters, we will make it easier to join the festival and discover a part of Friche la Belle de Mai.
During the festival, we can welcome groups and individuals for a conversation-tour of the exhibitions. These visits are an invitation not only to discover la Friche and to have a glance at the behind-the-scene of an international event, but at first to meet an artworks selection of the exhibition.The relation to video art and contemporary art takes a more discreet and intimate form. Here, audience is no more in front of a screen, but immersed in a multidimensional and multi-sensorial space. It is not only the eyes and ears that will be stimulate, but the whole body will be at work. If possible, a dialogue with the artists is organised during the visit.
The festival is always in the process of creating conditions for its different audiences (nonspecialists, artists, students, volunteers….) to meet, to discuss, to exchange, to cross-fertilise ideas, encouraging free and fluent expression. This is why ourSpecial daywas built. The idea is to work a whole day on a specific issue (for instance in 2014, it was For a free circulation of bodies and desires) through the prism of art (screening, performance, exhibition…), and then to address it under different forms (conversation, debate, conference), different rhythms and spaces (in the large auditorium, behind the screen seated in circle on comfortable sofas, or at thebuvettefor a more casualmoment).
Experiencing hospitality gives us a deep insight into the kind of society we should strive for. It diverges from a vision of life strictly productivity-oriented and utilitarian. Hospitality and hostility derived from the same etymological root, a latin word "enemy"(hostis)and "host" (hospes) or "lord of stranger".
Hospitality means to welcome the Other home or to enter the Other's home. Dialogue and hospitality call on each other. Dialogue draws greater force from a welcoming environment. The festival is the highlight where we can fully express our determination for a supreme hospitality.
We are caring to offer a warm welcome and friendly spaces, as well as more intimate form of encounters. A place to share a drink between two screenings or after, where artists, spectators and the team can gather together, where everyone can equally speak, whatever his/her position. Aspectator tells about his/her artistic practise, an artist about a work he/she saw, a team member about his/her work… . Art and life are not separated, the artwork is not anymore this very distant object but a questioning force on what we live every day.
These moments of conviviality (a welcome, a drink, a share meal…) arevalued as real opportunity for sharing and exchanging.
These continuous comings and goings between art and life give the festival and all our activities a very special identity. Art is not set apart from life, it is part of it and life is not set apart from art, it is part of it.
We want to stick to the mission of providing a cultural service to the public that is considered as a pool of sensitive and active minds. Therefor our the entrance to our artistic proposal are free of charge: the access to culture must be, as for education, allowed to all.
This project will start is second phase beginning 2019, with four groups of volunteers (including social workers) coming from four social organisations from Marseilles. As an artistic process that offers another way of practising the cultural object, it will bring the participants to gradually leave their viewer position to build a high quality video art program. Protagonists of the cultural development of their territory, the participants will share their selection with an audience in order to present their experience of the project, and support it in a real situation of public programming. For the first public screening, we choose a cinema in a neighbourhood, to gives preference to a more familiar exchange between inhabitants and participants' families, cultural actors and artists. The second screening will take place during the Festival Les Instants Vidéo, and it will be the occasion of a larger crossing of persons (families, festival regulars, local and international artists and cultural operators…).


text:
Q: How to transform the action Dependent Feature (ADF) from categorical to continuos/discrete? I am following the Vowpalwabbit tutorial  on contextual MABs using cb_explore_adf and I was wondering how to transform the actions namespace feature into numeric so it could generialize better for a new arm.
In this tutorial they present click-through rate (CTR) problem where the actions are the kind of articles to show:
shared |User user=Tom time_of_day=morning
|Action article=politics
|Action article=sports
|Action article=music
|Action article=food

As we cansse see, the article feature in the namespace Action is set to be a categorical value (politics, food, etc ...)
Is it possible to transform it into numeric?  Lets say that in my problem I am showing constumers a price:
shared |User user=Tom time_of_day=morning
|Action price=2.99
|Action price=10.99

if I want to test a new price, let's say $6.99... would the previus training bring some information?
What I understand, VowpalWabbit uses ":" for numeric features...is that true?
shared |User user=Tom time_of_day=morning
|Action price:2.99
|Action price:10.99

I tried this out, but it didn't work... in fact it made the model unable to covnerge.
What did I miss?
thanks

A: The way you are using numeric features is correct.
Are you still trying to play with the simulator that is provided in tutorial?
If so, have you changed rewarding logic (get_cost function) - right now it is assigning rewards based on person and time_of_day. If you want to play with new features, you would probably need to change logic there to make rewards correlated with your new feature.


We have a lot planned for this summer, and one ministry I am particularly excited about is offering a Wednesday Evening Service. Summer can be a busy and distracting time and we want to provide an opportunity for a midweek spiritual refill and refreshing.
On Wednesday nights beginning May 16th I will be teaching a verse-by-verse study of the book of James called "Living it: Practical Guidelines for the Christian Life." We will have a time of worship, Bible teaching, prayer, and fellowship after the service (drinks and snacks will be provided). Childcare will be provided at no cost. We are also inviting kids from first grade through fifth grade to join the service. I remember attending the Wednesday Evening Service during summer as a kid and God used it in my life as I grew stronger relationships with everyone in the church and I grew in my knowledge and understanding of God's word.
Once a month we will have a separate special event for the children, but the rest of the time they may join us in the service. I am really looking forward to our Wednesday Evening Service this summer as we grow in our walk with the Lord and in community with one another. It is going to be a very exciting time, and I hope to see you there.
Date: Wednesday Evenings beginning May 16th | 6:15 p.m. - 7:15 p.m.


"Monkey Makes Mischief in Heaven"
Saturday, February 8 at 2 p.m.
The Nectarine Queen goes to pick peaches for the Jade Emperor's New Year banquet -- and finds only one, half-ripe peach. The Monkey King has been gobbling peaches instead of tending them! Will the Monkey earn his place in the Heavens? Or continue his mischief?
Join Margaret Moody for this episode of the traditional Chinese epic "Journey to the West" told with traditional Taiwanese puppets and choreography, which she studied with the I Wan Jan Traditional Hand Puppet Troupe in Taiwan.
And stay after the show for oolong tea and a chance to dance with a New Year lion!
"Cow and Mouse's Picnic" and Mathilda's Bath"
"For I'll be there, puttin' down my tophat, mussin' up my shirtfront. . . "
"Cow and Mouse's Picnic" and "Mathilda's Bath"
Can Mrs. Piggle Wiggle and a tap-dancing Grandpa convince Mathilda to take a bath? And can an undersea adventure teach Cow to share? Margaret Moody answers these questions and more in "Mathilda's Bath," based on a Mrs. Piggle Wiggle story by Betty MacDonald and in "Cow and Mouse's Picnic," a funny farm fable.
Come for the show; stay for coffee and puppet-play afterward. Hope to see you there!


Come and join us April 27th at Noble Ridge fo a fun afternoon of spring sips and silk. Creating your own one of a kind water marbled silk scarf.
With a glass of our exclusive Rose in hand, Create Marbling will be on hand to help curate you through the ancient tradition of water marbling to create your own unique work of art on silk.
Tickets are $60 and include all materials, instruction and a glass of our excemplary Rose.


text:
// <copyright file="Actions.cs" company="WebDriver Committers">
// Copyright 2007-2011 WebDriver committers
// Copyright 2007-2011 Google Inc.
// Portions copyright 2011 Software Freedom Conservancy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>

using System;
using System.Collections.Generic;
using System.Text;
using OpenQA.Selenium.Internal;

namespace OpenQA.Selenium.Interactions
{
    /// <summary>
    /// Provides a mechanism for building advanced interactions with the browser.
    /// </summary>
    public class Actions
    {
        private IKeyboard keyboard;
        private IMouse mouse;
        private CompositeAction action = new CompositeAction();

        /// <summary>
        /// Initializes a new instance of the <see cref="Actions"/> class.
        /// </summary>
        /// <param name="driver">The <see cref="IWebDriver"/> object on which the actions built will be performed.</param>
        public Actions(IWebDriver driver)
        {
            IHasInputDevices inputDevicesDriver = driver as IHasInputDevices;
            if (inputDevicesDriver == null)
            {
                IWrapsDriver wrapper = driver as IWrapsDriver;
                while (wrapper != null)
                {
                    inputDevicesDriver = wrapper.WrappedDriver as IHasInputDevices;
                    if (inputDevicesDriver != null)
                    {
                        break;
                    }

                    wrapper = wrapper.WrappedDriver as IWrapsDriver;
                }
            }

            if (inputDevicesDriver == null)
            {
                throw new ArgumentException("The IWebDriver object must implement or wrap a driver that implements IHasInputDevices.", "driver");
            }

            this.keyboard = inputDevicesDriver.Keyboard;
            this.mouse = inputDevicesDriver.Mouse;
        }

        /// <summary>
        /// Sends a modifier key down message to the browser.
        /// </summary>
        /// <param name="theKey">The key to be sent.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        /// <exception cref="ArgumentException">If the key sent is not is not one
        /// of <see cref="Keys.Shift"/>, <see cref="Keys.Control"/>, or <see cref="Keys.Alt"/>.</exception>
        public Actions KeyDown(string theKey)
        {
            return this.KeyDown(null, theKey);
        }

        /// <summary>
        /// Sends a modifier key down message to the specified element in the browser.
        /// </summary>
        /// <param name="element">The element to which to send the key command.</param>
        /// <param name="theKey">The key to be sent.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        /// <exception cref="ArgumentException">If the key sent is not is not one
        /// of <see cref="Keys.Shift"/>, <see cref="Keys.Control"/>, or <see cref="Keys.Alt"/>.</exception>
        public Actions KeyDown(IWebElement element, string theKey)
        {
            ILocatable target = GetLocatableFromElement(element);
            this.action.AddAction(new KeyDownAction(this.keyboard, this.mouse, target, theKey));
            return this;
        }

        /// <summary>
        /// Sends a modifier key up message to the browser.
        /// </summary>
        /// <param name="theKey">The key to be sent.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        /// <exception cref="ArgumentException">If the key sent is not is not one
        /// of <see cref="Keys.Shift"/>, <see cref="Keys.Control"/>, or <see cref="Keys.Alt"/>.</exception>
        public Actions KeyUp(string theKey)
        {
            return this.KeyUp(null, theKey);
        }

        /// <summary>
        /// Sends a modifier up down message to the specified element in the browser.
        /// </summary>
        /// <param name="element">The element to which to send the key command.</param>
        /// <param name="theKey">The key to be sent.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        /// <exception cref="ArgumentException">If the key sent is not is not one
        /// of <see cref="Keys.Shift"/>, <see cref="Keys.Control"/>, or <see cref="Keys.Alt"/>.</exception>
        public Actions KeyUp(IWebElement element, string theKey)
        {
            ILocatable target = GetLocatableFromElement(element);
            this.action.AddAction(new KeyUpAction(this.keyboard, this.mouse, target, theKey));
            return this;
        }

        /// <summary>
        /// Sends a sequence of keystrokes to the browser.
        /// </summary>
        /// <param name="keysToSend">The keystrokes to send to the browser.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions SendKeys(string keysToSend)
        {
            return this.SendKeys(null, keysToSend);
        }

        /// <summary>
        /// Sends a sequence of keystrokes to the specified element in the browser.
        /// </summary>
        /// <param name="element">The element to which to send the keystrokes.</param>
        /// <param name="keysToSend">The keystrokes to send to the browser.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions SendKeys(IWebElement element, string keysToSend)
        {
            ILocatable target = GetLocatableFromElement(element);
            this.action.AddAction(new SendKeysAction(this.keyboard, this.mouse, target, keysToSend));
            return this;
        }

        /// <summary>
        /// Clicks and holds the mouse button down on the specified element.
        /// </summary>
        /// <param name="onElement">The element on which to click and hold.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions ClickAndHold(IWebElement onElement)
        {
            ILocatable target = GetLocatableFromElement(onElement);
            this.action.AddAction(new ClickAndHoldAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Clicks and holds the mouse button at the last known mouse coordinates.
        /// </summary>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions ClickAndHold()
        {
            return this.ClickAndHold(null);
        }

        /// <summary>
        /// Releases the mouse button on the specified element.
        /// </summary>
        /// <param name="onElement">The element on which to release the button.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions Release(IWebElement onElement)
        {
            ILocatable target = GetLocatableFromElement(onElement);
            this.action.AddAction(new ButtonReleaseAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Releases the mouse button at the last known mouse coordinates.
        /// </summary>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions Release()
        {
            return this.Release(null);
        }

        /// <summary>
        /// Clicks the mouse on the specified element.
        /// </summary>
        /// <param name="onElement">The element on which to click.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions Click(IWebElement onElement)
        {
            ILocatable target = GetLocatableFromElement(onElement);
            this.action.AddAction(new ClickAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Clicks the mouse at the last known mouse coordinates.
        /// </summary>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions Click()
        {
            return this.Click(null);
        }

        /// <summary>
        /// Double-clicks the mouse on the specified element.
        /// </summary>
        /// <param name="onElement">The element on which to double-click.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions DoubleClick(IWebElement onElement)
        {
            ILocatable target = GetLocatableFromElement(onElement);
            this.action.AddAction(new DoubleClickAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Double-clicks the mouse at the last known mouse coordinates.
        /// </summary>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions DoubleClick()
        {
            return this.DoubleClick(null);
        }

        /// <summary>
        /// Moves the mouse to the specified element.
        /// </summary>
        /// <param name="toElement">The element to which to move the mouse.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions MoveToElement(IWebElement toElement)
        {
            ILocatable target = GetLocatableFromElement(toElement);
            this.action.AddAction(new MoveMouseAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Moves the mouse to the specified offset of the top-left corner of the specified element.
        /// </summary>
        /// <param name="toElement">The element to which to move the mouse.</param>
        /// <param name="offsetX">The horizontal offset to which to move the mouse.</param>
        /// <param name="offsetY">The vertical offset to which to move the mouse.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions MoveToElement(IWebElement toElement, int offsetX, int offsetY)
        {
            ILocatable target = GetLocatableFromElement(toElement);
            this.action.AddAction(new MoveToOffsetAction(this.mouse, target, offsetX, offsetY));
            return this;
        }

        /// <summary>
        /// Moves the mouse to the specified offset of the last known mouse coordinates.
        /// </summary>
        /// <param name="offsetX">The horizontal offset to which to move the mouse.</param>
        /// <param name="offsetY">The vertical offset to which to move the mouse.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions MoveByOffset(int offsetX, int offsetY)
        {
            return this.MoveToElement(null, offsetX, offsetY);
        }

        /// <summary>
        /// Right-clicks the mouse on the specified element.
        /// </summary>
        /// <param name="onElement">The element on which to right-click.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions ContextClick(IWebElement onElement)
        {
            ILocatable target = GetLocatableFromElement(onElement);
            this.action.AddAction(new ContextClickAction(this.mouse, target));
            return this;
        }

        /// <summary>
        /// Right-clicks the mouse at the last known mouse coordinates.
        /// </summary>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions ContextClick()
        {
            return this.ContextClick(null);
        }

        /// <summary>
        /// Performs a drag-and-drop operation from one element to another.
        /// </summary>
        /// <param name="source">The element on which the drag operation is started.</param>
        /// <param name="target">The element on which the drop is performed.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions DragAndDrop(IWebElement source, IWebElement target)
        {
            ILocatable startElement = GetLocatableFromElement(source);
            ILocatable endElement = GetLocatableFromElement(target);

            this.action.AddAction(new ClickAndHoldAction(this.mouse, startElement));
            this.action.AddAction(new MoveMouseAction(this.mouse, endElement));
            this.action.AddAction(new ButtonReleaseAction(this.mouse, endElement));
            return this;
        }

        /// <summary>
        /// Performs a drag-and-drop operation on one element to a specified offset.
        /// </summary>
        /// <param name="source">The element on which the drag operation is started.</param>
        /// <param name="offsetX">The horizontal offset to which to move the mouse.</param>
        /// <param name="offsetY">The vertical offset to which to move the mouse.</param>
        /// <returns>A self-reference to this <see cref="Actions"/>.</returns>
        public Actions DragAndDropToOffset(IWebElement source, int offsetX, int offsetY)
        {
            ILocatable startElement = GetLocatableFromElement(source);

            this.action.AddAction(new ClickAndHoldAction(this.mouse, startElement));
            this.action.AddAction(new MoveToOffsetAction(this.mouse, null, offsetX, offsetY));
            this.action.AddAction(new ButtonReleaseAction(this.mouse, null));
            return this;
        }

        /// <summary>
        /// Builds the sequence of actions.
        /// </summary>
        /// <returns>A composite <see cref="IAction"/> which can be used to perform the actions.</returns>
        public IAction Build()
        {
            CompositeAction toReturn = this.action;
            this.action = new CompositeAction();
            return toReturn;
        }

        /// <summary>
        /// Performs the currently built action.
        /// </summary>
        public void Perform()
        {
            this.Build().Perform();
        }

        /// <summary>
        /// Adds an action to current list of actions to be performed.
        /// </summary>
        /// <param name="actionToAdd">The <see cref="IAction"/> to be added.</param>
        protected void AddAction(IAction actionToAdd)
        {
            this.action.AddAction(actionToAdd);
        }

        private static ILocatable GetLocatableFromElement(IWebElement element)
        {
            if (element == null)
            {
                return null;
            }

            ILocatable target = element as ILocatable;
            if (target == null)
            {
                IWrapsElement wrapper = element as IWrapsElement;
                while (wrapper != null)
                {
                    target = wrapper.WrappedElement as ILocatable;
                    if (target != null)
                    {
                        break;
                    }

                    wrapper = wrapper.WrappedElement as IWrapsElement;
                }
            }

            if (target == null)
            {
                throw new ArgumentException("The IWebElement object must implement or wrap an element that implements ILocatable.", "element");
            }

            return target;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Joint.TrackingState Field
=========================

The tracking state of the joint.

Syntax
======

<colgroup>
<col width="100%" />
</colgroup>

C++

public:
TrackingState TrackingState

<colgroup>
<col width="100%" />
</colgroup>

C#

public TrackingState TrackingState

<colgroup>
<col width="100%" />
</colgroup>

JavaScript

var trackingState = joint.trackingState;

Requirements
============

**Namespace:**WindowsPreview.Kinect
**Metadata:**windowspreview.kinect.winmd

See also
========

#### Reference

[Joint Structure](../../Joint_Structure.md)
 [WindowsPreview.Kinect Namespace](../../../Kinect.md)


Are you like the many people out there that are looking for a way to supplement their income on the internet? Well if so, you're in luck. There are numerous ways that you can make some extra cash online and produce a new stream of earnings. Nevertheless, to be effective utilizing these methods I'm about to point out, will require some time invested by you.
If you feel that you are too previous to study, you may have to truly believe about it. Occasionally stepping out of ourselves and performing some thing entirely new can be mystifying, but very thrilling, especially if you haven't researched for a fairly a while.
The hard part is finding a craft to make at house that will not only relight the fires of your inventive passions, but also not split the financial institution. There are several hobbies that have by no means been more well-liked than now. Knitting is not just for grandmas any longer. Making scarves, hats, gloves, and sweaters of your personal design is enjoyable and thrifty. Style a look that is totally you and cannot be copied! And do it for a portion of the cost of buying them from the department store.
An easy way to remain on leading of developments and to hone your abilities and talents as a graphic design er is to carry on using courses in graphic design. No make a difference where you are in your career, you can always learn something new. Numerous graphic style schools, artwork institutes, museums and universities provide seminars and continuing training classes. These can be a boon to the graphic design wollongong artist who is willing to discover and remain on leading of trends. Even if you don't have the time or money for continuing education, you can go to a college or museum to see what is going on in the present style globe.
Without true advertising you have no buyers, you have no income, you have no company – time period! Or did you believe character would send you customers simply because you're this kind of a good individual with this kind of a good concept? If you believe that, you must be the individual who produced the much better mousetrap; much better buy a new lawnmower because the grass is probably fairly higher as no 1 has yet beat a route to your doorway.
One small question right here. Does the company require you to function in the area you choose? If so, you may need to switch work inside the company to get approval for your plan. But see beneath, you may have some time prior to that kicks in, whilst you do your common ed.
Arts Work and Gigs Jobs – Your Concerns Answered. You can begin posting the services you offer as quickly as you turn out to be a member. Just create down what you want to do for $7, choose the category where you want your on-line job advertisement to be displayed, create a description for the service provided, mention the quantity of days inside which you can do it, add an image, write down the tags, and you are done. Your advertisement will be on Gigsle in minutes.
Don't panic at the thought of building a website because there are tons of applications on the web that will assist you to do it with easy stage and click on directions. Besides, as I stated earlier, it would be a easy internet page or two and you're open for company, Ca-Ching!


Amanda is now recuperating at home under the care of friends, after she fell and broke her hip. Unfortunately it will be some time before Amanda comes back to the Centre to teach.
Amanda leaves a big hole at our Centre as she is much loved and respected, and is involved with day-to-day running of the Centre as well as teaching. Thankfully in her absence, others have come forward to help the Centre run smoothly while she is away.
To many, Amanda is our Centre's stalwart matriarch, gracing it with her lovely, steady, approachable and knowledgable presence.
Amanda started her Yoga practice over 33 years ago when she worked with Guruji Iyengar. In the late 1990s Amanda met Grandfather of Ashtanga Yoga Guruji Pattabhi Jois, in New Zealand. She subsequently travelled to Mysore to study under Guruji – so Amanda has a huge treasure of knowledge and experience to pass on to her students.
Amanda has the longest association with the Centre of all our teachers, having joined us over 13 years ago. She has introduced countless students to Ashtanga Yoga through our Centre's Intro courses, which run over five weeks several times a year.
Please accept our apologies for any inconvenience. More details to come soon.


I'm moving to Oklahoma City in two weeks. This sort of looms large on the immediate horizon. I'm not good at organizing this sort of thing so its pretty crazy.
I have an E-Foamies Extra 300 on order. Its a rubber airplane so I can fly outside like crazy and not worry so much about destroying the airplane. I really want to get some stick time in and improve my flying. I want to start doing competitions by next year. Its also my first ARF (Almost Ready to Fly). I am generally anti ARF but I understand why thats better for most people.
Its also going to be nice to see how this EPP stuff behaves in thin sheets. I see a lot of potential for improvements to the Breeze using hybrid EPP/Depron construction. I have a few crashes on the Breeze now. It keeps breaking in the tail because the tail flexes too easily. I'll need to modify the plans to help reinforce that area. The elevator needs a redesign as well.
Ruby is cool. Everyone says so, all the cool kids are using it. Seriously, Duck Typing and Mixins are where its at. I seriously cannot count the number of times I wished things worked like that in Java. Its too bad that C#/.NET had to be a feature duoplication of Java. When you look at somehting like Duck Typing or Mixins either is easily a bigger win for developers than all the things you can come up with in .NET that suposedly make it better than Java. I really need a project to do in Ruby.
In the spirit of free beer and open source these plans are made available under the Creative Commons Attribution-ShareAlike license. Go check out the Breeze F3P thread on RC Groups.
See a video of the Breeze in flight.
I wanted the parts to be easy to cut by hand since its going to be built from scratch. The number of curves and the total part count was kept to a minimum. The Breeze has an aspect ratio similar to the Donuts-Models biplanes. It has generous side area and large interplane struts for good knife edge performance. Keeping weight below the weight target will, of course, improve performance.
Google bought @Last Software and now there is a free version of Sketchup. Now, this is awesome, let me tell you, its the best little CAD program I have ever used. Knock down drag out the best. You can pick it up in as little as an hour and grock it in a few days. Thats the good part.
The bad part is the app is a black hole. You can import all sorts of formats into Google Sketchup, particularly AutoCAD's DXF and DWG formats. This rocks for hobbyists because lots of plans are out there in DXF format and Sketchup is easier and cheaper than AutoCAD. The problem is there is no way to get your work back out of Google Sketchup. You can export a 2d image at an undetermined scale, thats it. Thats totally useless.
Google, if anyone there is reading this, please for the love of hobbyists everywhere, give us a way to print from this thing! Ideally I want 1:1 output of a view/selection to PDF. For extra points allow us to tile or split the PDF to a particular paper size. That way you could print to a consumer printer and reassemble the pages to produce a pattern or plan. I think that functionality would cover 90% of the hobbyist's need to get output from a CAD tool. I also don't see it eating into Sketchup pros sales much either as I doubt most hobbyist types would spring for a copy.
Now for the sketchy part. If you download the trial of Sketchup 5 Pro you can get 1:1 PDF output and export to DXF. The trial lasts just 8 hours so use it only for exporting. It can be installed side by side with Google Sketchup. It takes me about a minute to do an export to PDF and DXF so that trial is going to last a long time.