New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8919 – NEMO

Changeset 8919


Ignore:
Timestamp:
2017-12-06T13:52:42+01:00 (6 years ago)
Author:
mattmartin
Message:

Updated the NEMO book documentation with information on the observation averaging operator.

Location:
branches/2017/dev_r8657_UKMO_OBSoper/DOC
Files:
4 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8657_UKMO_OBSoper/DOC/Namelists/namobs

    r6997 r8919  
    99   ln_sic      = .false.             ! Logical switch for Sea Ice observations 
    1010   ln_vel3d    = .false.             ! Logical switch for velocity observations 
     11   ln_sss     = .false.              ! Logical swithc for SSS observations 
    1112   ln_altbias  = .false.             ! Logical switch for altimeter bias correction 
    1213   ln_nea      = .false.             ! Logical switch for rejection of observations near land 
     
    1617   ln_s_at_t   = .false.             ! Logical switch for computing model S at T obs if not there 
    1718   ln_sstnight = .false.             ! Logical switch for calculating night-time average for SST obs 
     19   ln_sla_fp_indegs = .true.         ! Logical for SLA: T=> averaging footpring is in degrees, F=> in metres 
     20   ln_sst_fp_indegs = .true.         ! Logical for SST: T=> averaging footpring is in degrees, F=> in metres 
     21   ln_sss_fp_indegs = .true.         ! Logical for SSS: T=> averaging footpring is in degrees, F=> in metres 
     22   ln_sic_fp_indegs = .true.         ! Logical for SIC: T=> averaging footpring is in degrees, F=> in metres 
    1823! All of the *files* variables below are arrays. Use namelist_cfg to add more files 
    1924   cn_profbfiles = 'profiles_01.nc'  ! Profile feedback input observation file names 
    2025   cn_slafbfiles = 'sla_01.nc'       ! SLA feedback input observation file names 
    2126   cn_sstfbfiles = 'sst_01.nc'       ! SST feedback input observation file names 
     27   cn_sssfbfiles = 'sss_01.nc'       ! SSS feedback input observation file names 
    2228   cn_sicfbfiles = 'sic_01.nc'       ! SIC feedback input observation file names 
    2329   cn_velfbfiles = 'vel_01.nc'       ! Velocity feedback input observation file names 
     
    2733   rn_dobsini  = 00010101.000000     ! Initial date in window YYYYMMDD.HHMMSS 
    2834   rn_dobsend  = 00010102.000000     ! Final date in window YYYYMMDD.HHMMSS 
     35   rn_sla_avglamscl = 0.             ! E/W diameter of SLA observation footprint (metres/degrees) 
     36   rn_sla_avgphiscl = 0.             ! N/S diameter of SLA observation footprint (metres/degrees) 
     37   rn_sst_avglamscl = 0.             ! E/W diameter of SST observation footprint (metres/degrees) 
     38   rn_sst_avgphiscl = 0.             ! N/S diameter of SST observation footprint (metres/degrees) 
     39   rn_sss_avglamscl = 0.             ! E/W diameter of SSS observation footprint (metres/degrees) 
     40   rn_sss_avgphiscl = 0.             ! N/S diameter of SSS observation footprint (metres/degrees) 
     41   rn_sic_avglamscl = 0.             ! E/W diameter of SIC observation footprint (metres/degrees) 
     42   rn_sic_avgphiscl = 0.             ! N/S diameter of SIC observation footprint (metres/degrees) 
    2943   nn_1dint    = 0                   ! Type of vertical interpolation method 
    3044   nn_2dint    = 0                   ! Type of horizontal interpolation method 
    3145   nn_msshc    = 0                   ! MSSH correction scheme 
     46   nn_2dint_sla = 0                    ! Horizontal interpolation method for SLA 
     47   nn_2dint_sst = 0                    ! Horizontal interpolation method for SST 
     48   nn_2dint_sss = 0                    ! Horizontal interpolation method for SSS 
     49   nn_2dint_sic = 0                    ! Horizontal interpolation method for SIC 
    3250   rn_mdtcorr  = 1.61                ! MDT  correction 
    3351   rn_mdtcutoff = 65.0               ! MDT cutoff for computed correction 
  • branches/2017/dev_r8657_UKMO_OBSoper/DOC/TexFiles/Chapters/Chap_OBS.tex

    r6997 r8919  
    2727is set to true. 
    2828 
    29 For all data types a 2D horizontal  interpolator is needed to interpolate the model fields to 
     29For all data types a 2D horizontal interpolator or averager is needed to interpolate/average the model fields to 
    3030the observation location. For {\em in situ} profiles, a 1D vertical interpolator is needed in 
    31 addition to provide model fields at the observation depths. Currently this only works in 
    32 z-level model configurations, but is being developed to work with a generalised vertical 
     31addition to provide model fields at the observation depths. This now works in a generalised vertical 
    3332coordinate system.  
    3433 
    3534Some profile observation types (e.g. tropical moored buoys) are made available as daily averaged quantities. 
    36 The observation operator code can be set-up to calculated the equivalent daily average model temperature fields 
     35The observation operator code can be set-up to calculate the equivalent daily average model temperature fields 
    3736using the \np{nn\_profdavtypes} namelist array. Some SST observations are equivalent to a night-time 
    3837average value and the observation operator code can calculate equivalent night-time average model SST fields by 
     
    4039observation time is used. 
    4140 
    42 The code is controlled by the namelist \textit{nam\_obs}. See the following sections for more 
     41The code is controlled by the namelist \textit{namobs}. See the following sections for more 
    4342details on setting up the namelist. 
    4443 
     
    560559\label{OBS_theory} 
    561560 
    562 \subsection{Horizontal interpolation methods} 
    563  
     561\subsection{Horizontal interpolation and averaging methods} 
     562 
     563For most observation types, the horizontal extent of the observation is small compared to the model grid size 
     564and so the model equivalent of the observation is calculated by interpolating from the four surrounding grid 
     565points to the observation location. Some satellite observations (e.g. microwave satellite SST data, or SSS data) 
     566have a footprint which is similar size or larger than the model grid size (particularly when the grid size is small).  
     567In those cases the model counterpart should be calculated by averaging the model grid points over the same size as the footprint. 
     568NEMO therefore has the capability to specify either an interpolation or an averaging (for surface observation types only).  
     569 
     570The main namelist option associated with the interpolation/averaging is nn_2dint. This default option can be set to values from 0 to 6.  
     571Values between 0 to 4 are associated with interpolation while values 5 or 6 are associated with averaging. 
     572\begin{itemize} 
     573\item n2dint=0: Distance-weighted interpolation 
     574\item n2dint=1: Distance-weighted interpolation (small angle) 
     575\item n2dint=2: Bilinear interpolation (geographical grid) 
     576\item n2dint=3: Bilinear remapping interpolation (general grid) 
     577\item n2dint=4: Polynomial interpolation 
     578\item n2dint=5: Radial footprint averaging with radius specified in the namelist as rn_???_avglamscl in degrees or metres (set using ln_???_fp_indegs) 
     579\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) 
     580\end{itemize} 
     581The ??? 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). 
     582The n2dint default option can be overridden for surface observation types using namelist values nn_2dint_??? where ??? is one of sla,sst,sss,sic. 
     583 
     584Below is some more detail on the various options for interpolation and averaging available in NEMO. 
     585 
     586\subsubsection{Horizontal interpolation} 
    564587Consider an observation point ${\rm P}$ with  
    565588with longitude and latitude $({\lambda_{}}_{\rm P}, \phi_{\rm P})$ and the  
     
    660683   
    661684\end{enumerate} 
     685 
     686\subsubsection{Horizontal averaging} 
     687 
     688For each surface observation type: 
     689\begin{itemize} 
     690\item The standard grid-searching code is used to find the nearest model grid point to the observation location (see next subsection). 
     691\item The maximum number of grid points is calculated in the local grid domain for which the averaging is likely need to cover. 
     692\item The lats/longs of the grid points surrounding the nearest model grid box are extracted using existing mpi routines. 
     693\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. 
     694\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. 
     695\end{itemize} 
     696 
     697%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     698\begin{figure}      \begin{center} 
     699\includegraphics[width=10cm,height=12cm]{Fig_OBS_avg_rec} 
     700\caption{      \label{fig:obsavgrec} 
     701Weights 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$}  
     702\end{center}      \end{figure} 
     703%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     704 
     705 
     706%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     707\begin{figure}      \begin{center} 
     708\includegraphics[width=10cm,height=12cm]{Fig_OBS_avg_rad} 
     709\caption{      \label{fig:obsavgrad} 
     710As for figure \ref{obsavgrec} but for a radial footprint with diameter $1\deg$. 
     711\end{center}      \end{figure} 
     712%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     713 
    662714 
    663715\subsection{Grid search} 
Note: See TracChangeset for help on using the changeset viewer.