SURFEX v7.3
General documentation of Surfex
|
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