Index: branches/2017/dev_r8657_UKMO_OBSoper/DOC/TexFiles/Chapters/Chap_OBS.tex
===================================================================
--- branches/2017/dev_r8657_UKMO_OBSoper/DOC/TexFiles/Chapters/Chap_OBS.tex	(revision 8658)
+++ branches/2017/dev_r8657_UKMO_OBSoper/DOC/TexFiles/Chapters/Chap_OBS.tex	(revision 8919)
@@ -27,12 +27,11 @@
 is set to true.
 
-For all data types a 2D horizontal  interpolator is needed to interpolate the model fields to
+For all data types a 2D horizontal interpolator or averager is needed to interpolate/average the model fields to
 the observation location. For {\em in situ} profiles, a 1D vertical interpolator is needed in
-addition to provide model fields at the observation depths. Currently this only works in
-z-level model configurations, but is being developed to work with a generalised vertical
+addition to provide model fields at the observation depths. This now works in a generalised vertical
 coordinate system. 
 
 Some profile observation types (e.g. tropical moored buoys) are made available as daily averaged quantities.
-The observation operator code can be set-up to calculated the equivalent daily average model temperature fields
+The observation operator code can be set-up to calculate the equivalent daily average model temperature fields
 using the \np{nn\_profdavtypes} namelist array. Some SST observations are equivalent to a night-time
 average value and the observation operator code can calculate equivalent night-time average model SST fields by
@@ -40,5 +39,5 @@
 observation time is used.
 
-The code is controlled by the namelist \textit{nam\_obs}. See the following sections for more
+The code is controlled by the namelist \textit{namobs}. See the following sections for more
 details on setting up the namelist.
 
@@ -560,6 +559,30 @@
 \label{OBS_theory}
 
-\subsection{Horizontal interpolation methods}
-
+\subsection{Horizontal interpolation and averaging methods}
+
+For most observation types, the horizontal extent of the observation is small compared to the model grid size
+and so the model equivalent of the observation is calculated by interpolating from the four surrounding grid
+points to the observation location. Some satellite observations (e.g. microwave satellite SST data, or SSS data)
+have a footprint which is similar size or larger than the model grid size (particularly when the grid size is small). 
+In those cases the model counterpart should be calculated by averaging the model grid points over the same size as the footprint.
+NEMO therefore has the capability to specify either an interpolation or an averaging (for surface observation types only). 
+
+The main namelist option associated with the interpolation/averaging is nn_2dint. This default option can be set to values from 0 to 6. 
+Values between 0 to 4 are associated with interpolation while values 5 or 6 are associated with averaging.
+\begin{itemize}
+\item n2dint=0: Distance-weighted interpolation
+\item n2dint=1: Distance-weighted interpolation (small angle)
+\item n2dint=2: Bilinear interpolation (geographical grid)
+\item n2dint=3: Bilinear remapping interpolation (general grid)
+\item n2dint=4: Polynomial interpolation
+\item n2dint=5: Radial footprint averaging with radius specified in the namelist as rn_???_avglamscl in degrees or metres (set using ln_???_fp_indegs)
+\item n2dint=6: Rectangular footprint averaging with E/W and N/S size specified in the namelist as rn_???_avglamscl and rn_???_avgphiscl in degrees or metres (set using ln_???_fp_indegs)
+\end{itemize}
+The ??? in the last two options indicate these options should be specified for each observation type for which the averaging is to be performed (see namelist example above).
+The n2dint default option can be overridden for surface observation types using namelist values nn_2dint_??? where ??? is one of sla,sst,sss,sic.
+
+Below is some more detail on the various options for interpolation and averaging available in NEMO.
+
+\subsubsection{Horizontal interpolation}
 Consider an observation point ${\rm P}$ with 
 with longitude and latitude $({\lambda_{}}_{\rm P}, \phi_{\rm P})$ and the 
@@ -660,4 +683,33 @@
   
 \end{enumerate}
+
+\subsubsection{Horizontal averaging}
+
+For each surface observation type:
+\begin{itemize}
+\item The standard grid-searching code is used to find the nearest model grid point to the observation location (see next subsection).
+\item The maximum number of grid points is calculated in the local grid domain for which the averaging is likely need to cover.
+\item The lats/longs of the grid points surrounding the nearest model grid box are extracted using existing mpi routines.
+\item The weights for each grid point associated with each observation are calculated, either for radial or rectangular footprints. For grid points completely within the footprint, the weight is one; for grid points completely outside the footprint, the weight is zero. For grid points which are partly within the footprint the ratio between the area of the footprint within the grid box and the total area of the grid box is used as the weight.
+\item The weighted average of the model grid points associated with each observation is calculated, and this is then given as the model counterpart of the observation.
+\end{itemize}
+
+%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+\begin{figure}      \begin{center}
+\includegraphics[width=10cm,height=12cm]{Fig_OBS_avg_rec}
+\caption{      \label{fig:obsavgrec}
+Weights associated with each model grid box (blue lines and numbers) for an observation at -170.5E, 56.0N with a footprint of $1\deg \time 1\deg$} 
+\end{center}      \end{figure}
+%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+\begin{figure}      \begin{center}
+\includegraphics[width=10cm,height=12cm]{Fig_OBS_avg_rad}
+\caption{      \label{fig:obsavgrad}
+As for figure \ref{obsavgrec} but for a radial footprint with diameter $1\deg$.
+\end{center}      \end{figure}
+%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
 
 \subsection{Grid search}
