Files
2018-08-28 00:43:47 -04:00

49 lines
1.9 KiB
Fortran

! $Id: fyrno3.f,v 1.1 2009/06/09 21:51:52 daven Exp $
REAL*8 FUNCTION FYRNO3( XCARBN, ZDNUM, TT )
!
!******************************************************************************
! Function FYRNO3 returns organic nitrate yields YN = RKA/(RKA+RKB)
! from RO2+NO reactions as a function of the number N of carbon atoms.
! (lwh, jyl, gmg, djj, bmy, 1/1/89, 6/26/03)
!
! Arguments as Input:
! ============================================================================
! (1 ) XCARBN (REAL*8) : Number of C atoms in RO2
! (2 ) ZDNUM (REAL*8) : Air density [molec/cm3 ]
! (3 ) TT (REAL*8) : Temperature [K ]
!
! NOTES:
! (1 ) Original code from Larry Horowitz, Jinyou Liang, Gerry Gardner,
! and Daniel Jacob circa 1989/1990.
! (2 ) Updated following Atkinson 1990.
! (3 ) Change yield from Isoprene Nitrate (ISN2) from 0.44% to 12%,
! according to Sprengnether et al., 2002. (amf, bmy, 1/7/02)
! (4 ) Eliminate obsolete code from 1/02 (bmy, 2/27/02)
! (5 ) Updated comment description of XCARBN (bmy, 6/26/03)
!******************************************************************************
!
IMPLICIT NONE
! Arguments
REAL*8, INTENT(IN) :: XCARBN, ZDNUM, TT
! Local variables
REAL*8 :: YYYN, XXYN, AAA, RARB, ZZYN
REAL*8 :: XF, ALPHA, Y300, BETA, XMINF, XM0
! Initialize static variables
DATA Y300,ALPHA,BETA,XM0,XMINF,XF/.826,1.94E-22,.97,0.,8.1,.411/
!=================================================================
! FYRNO3 begins here!
!=================================================================
XXYN = ALPHA*EXP(BETA*XCARBN)*ZDNUM*((300./TT)**XM0)
YYYN = Y300*((300./TT)**XMINF)
AAA = LOG10(XXYN/YYYN)
ZZYN = 1./(1.+ AAA*AAA )
RARB = (XXYN/(1.+ (XXYN/YYYN)))*(XF**ZZYN)
FYRNO3 = RARB/(1. + RARB)
! Return to calling program
END FUNCTION FYRNO3