2.3 Horizontal interpolations.
Horizontal interpolations can be bilinear interpolations or 12 points cubic interpolations. No namelist variable is available to switch from 12 points to bilinear interpolations. The call to 12 points interpolations is hard coded.
2.3.1 Bilinear horizontal interpolations.
Horizontal interpolation grid and weights for bilinear interpolations.
A 16 points horizontal grid is defined as is shown in Fig. 2.1 . The interpolation point O is between B1, C1, B2 and C2. and are the longitudes and latitudes on the computational sphere (departure geometry). The following weights are defined as follows:
Figure 2.1 Interpolation horizontal grid for bilinear interpolations.
Bilinear interpolation.
For a quantity X, are computed successively:
 a linear interpolation on the longitude number 1:
. 

 a linear interpolation on the longitude number 2:
. 

 a meridian linear interpolation:
. 

In the FULLPOS code the weights are precomputed in routines SUHOW2 and SUHOWLSM, so the separation of zonal and meridian interpolations is not visible in the interpolation routines. Currently there is no routine coded to do FULLPOS bilinear interpolations.
2.3.2 12 points horizontal interpolations.
Horizontal interpolation grid and weights for 12 points cubic interpolations.
A 16 points horizontal grid is defined as shown in Fig. 2.2 . The interpolation point O is between B1, C1, B2 and C2. The following weights are defined as follows:
Figure 2.2 Interpolation horizontal grid for 12 point interpolation.
Horizontal 12 points interpolation.
Let us define:
For a quantity X, are computed successively:
 a linear interpolation on the longitude number 0:
. 

 a cubic 4 points interpolation on the longitude number 1:
. 

 a cubic 4 points interpolation on the longitude number 2:
. 

 a linear interpolation on the longitude number 3:
. 

 a meridian cubic 4 points interpolation:
. 

In the FULLPOS code the weights are precomputed in routines SUHOW2 and SUHOWLSM, so the separation of zonal and meridian interpolations is not visible in the interpolation routines.
2.3.3 Location of computations.
Once the coordinates of the interpolation points known:
 The "northwestern" model grid point coordinates are computed in the routine SUHOW1. This is the model (departure geometry) grid point which is immediately at the northwest of the interpolation point.
 The weights not modified by the landsea mask are computed in routine SUHOW1.
 The weights modified by the landsea mask are computed in routine SUHOWLSM. This is equivalent to use weights not modified by the landsea mask and to multiply the field to be interpolated by the landsea mask (0 if sea, 1 if land).
 The horizontal 12 points interpolations are done by routines FPAERO (variables linked to aeronautic jet), FPHOR12 (3D derivatives) and FPINT12 (other variables). Routine FPMIMAX is used to give to the interpolated quantity the value of the nearest model grid point (used for maximum and minimum temperature at 2 meters). They need intermediate quantities computed in routine FPSCAW.

Additional modifications can be done in the interpolation routines after interpolations (principally in routine FPINT12), for example add a monotonicity condition. More details about these additional modifications and the postprocessed fields concerned by these modifications are described in the part describing each routine.
2.3.4 Plane geometry (ALADIN).
All previous formulae for weight computation can be used for an irregular latitude spacing and a different number of points on each longitude. The ALADIN grid has a horizontal regular spacing, so the previous formulae can be simplified. SUEHOW1, SUEHOW2 and SUEHOWLSM are called instead of SUHOW1, SUHOW2 and SUHOWLSM. SUEHOW1, SUEHOW2 and SUEHOWLSM are currently not yet coded and have to be coded in the future cycle AL09 based on the future cycle 18T1 of ARPEGE/IFS.