*
* 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