*
*     TLM  of  THERMODYNAMIC FUNCTIONS USED IN 3DVAR
*     CONSTANTS FROM COMMON /CTESDYN/
*     NOTE: ALL FUNCTIONS WORK IN  S.I. UNITS
*           I.E PPRS IN PA, PQQQ IN KG/KG
*
*          ***C. Chouinard August 1998 ***
* Revision:
*          S. Pellerin *ARMA/AES - Sept. 1998
*                      -Tangent-linear operator of Tv
*
*
*      TLM  OF FUNCTION CALCULATING VAPOUR PRESSURE
*             - INPUT:  PLQQQ ,  PERTURBATION OF LN SPECIFIC HUM
*                       PLPPS ,   PERTURBATION OF SURFACE PRESSURE
*                       PQQQ   ,  SPECIFIC HUMIDITY
*                       PPRS   , PRESSURE
*                       PNETA   , VALUE OF ETA LEVEL
*             - OUTPUT: FOEFQL,  PERTURBATION  OF VAPOUR PRESSURE
*
      FOEFQL(PLQQQ,PLPPS,PQQQ,PPRS,PNETA) = FQBRANCH(PQQQ)
     $     * ((PLQQQ*EPS1*PPRS*PQQQ/(EPS1+EPS2*PQQQ)
     $     +  PLPPS*PNETA*PQQQ)/(EPS1+EPS2*PQQQ))
     $     + (1.0D0 - FQBRANCH(PQQQ))*PLPPS*PNETA
*
*
*---- Tangent-linear operator of virtual temperature -----
*
*     pqqq: backgroud specific humidity
*     ptti: backgroud temperature
*     pttl: temperature increment
*     plnql: increment of logarithm specific humidity  (del(ln q))
*
      fotvvl(pqqq,ptti,pttl,plnql)=(1 + delta*pqqq)*pttl + delta*pqqq
     &     *ptti*plnql