SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/ch_conversion_factor.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE CH_CONVERSION_FACTOR(HCONVERSION,PRHOA)
00003 !     #######################################
00004 !
00005 !!****  *CH_CONVERSION_FACTOR
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !     Determines the correct conversion factor to produce emissions in
00010 !     Molec/m2/s
00011 !
00012 !!**  METHOD
00013 !!    ------
00014 !!    
00015 !!    
00016 !!    AUTHOR
00017 !!    ------
00018 !!      S.QUEGUINER 
00019 !!
00020 !!    MODIFICATIONS
00021 !!    -------------
00022 !!      Original        11/2011
00023 !!-----------------------------------------------------------------------------
00024 !
00025 !*       0.    DECLARATIONS
00026 !
00027 USE MODD_CSTS,       ONLY : XAVOGADRO, XMD
00028 USE MODD_CH_SNAP_n,  ONLY : XCONVERSION
00029 !
00030 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00031 USE PARKIND1  ,ONLY : JPRB
00032 !
00033 !
00034 IMPLICIT NONE
00035 !
00036 !*       0.1   declarations of arguments
00037 !
00038  CHARACTER(LEN=3),  INTENT(IN)  :: HCONVERSION ! Unit conversion code
00039 REAL, DIMENSION(:),INTENT(IN)  :: PRHOA       ! air density
00040 !
00041 !*       0.2   declarations of local variables
00042 !
00043 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00044 !-------------------------------------------------------------------------------
00045 IF (LHOOK) CALL DR_HOOK('CH_CONVERSION_FACTOR',0,ZHOOK_HANDLE)
00046 !
00047 ! determine the conversion factor
00048 XCONVERSION(:) = 1.
00049 SELECT CASE (HCONVERSION)
00050   CASE ('MIX') ! flux given ppp*m/s,  conversion to molec/m2/s
00051   ! where 1 molecule/cm2/s = (224.14/6.022136E23) ppp*m/s
00052     XCONVERSION(:) = XAVOGADRO * PRHOA(:) / XMD
00053   CASE ('CON') ! flux given in molecules/cm2/s, conversion to molec/m2/s 
00054     XCONVERSION(:) =  1E4
00055   CASE ('MOL') ! flux given in microMol/m2/day, conversion to molec/m2/s  
00056     ! where 1 microMol/m2/day = (22.414/86.400)*1E-12 ppp*m/s
00057     XCONVERSION(:) = (22.414/86.400)*1E-12 * XAVOGADRO * PRHOA(:) / XMD
00058   CASE DEFAULT
00059     CALL ABOR1_SFX('CH_BUILDEMISSN: UNKNOWN CONVERSION FACTOR')
00060 END SELECT
00061 !
00062 IF (LHOOK) CALL DR_HOOK('CH_CONVERSION_FACTOR',1,ZHOOK_HANDLE)
00063 !-------------------------------------------------------------------------------
00064 !
00065 END SUBROUTINE CH_CONVERSION_FACTOR