SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE UPDATE_DATA_FRAC_n(PDATA_NATURE,PDATA_TOWN,PDATA_GARDEN,OGARDEN, & 00003 PDATA_BLD, PDATA_WALL_O_HOR ) 00004 ! ######################### 00005 ! 00006 !!**** *INI_DATA_FRAC* takes into account gardens into natural vegetation 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 !! 00011 !! METHOD 00012 !! ------ 00013 !! 00014 !! 00015 !! EXTERNAL 00016 !! -------- 00017 !! 00018 !! IMPLICIT ARGUMENTS 00019 !! ------------------ 00020 !! 00021 !! REFERENCE 00022 !! --------- 00023 !! 00024 !! AUTHOR 00025 !! ------ 00026 !! 00027 !! V. Masson Meteo-France 00028 !! 00029 !! MODIFICATION 00030 !! ------------ 00031 !! 00032 !! Original 09/2011 00033 !---------------------------------------------------------------------------- 00034 ! 00035 !* 0. DECLARATION 00036 ! ----------- 00037 ! 00038 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER 00039 USE MODD_DATA_COVER_n, ONLY : XDATA_NATURE, XDATA_TOWN, XDATA_GARDEN, & 00040 XDATA_BLD, XDATA_WALL_O_HOR, LGARDEN 00041 ! 00042 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00043 USE PARKIND1 ,ONLY : JPRB 00044 ! 00045 IMPLICIT NONE 00046 ! 00047 !* 0.1 Declaration of arguments 00048 ! ------------------------ 00049 ! 00050 REAL, DIMENSION(:), INTENT(IN) :: PDATA_NATURE 00051 REAL, DIMENSION(:), INTENT(IN) :: PDATA_TOWN 00052 REAL, DIMENSION(:), INTENT(IN) :: PDATA_GARDEN 00053 LOGICAL, INTENT(IN) :: OGARDEN 00054 REAL, DIMENSION(:), INTENT(IN) :: PDATA_BLD 00055 REAL, DIMENSION(:), INTENT(IN) :: PDATA_WALL_O_HOR 00056 ! 00057 ! 00058 !* 0.2 Declaration of local variables 00059 ! ------------------------------ 00060 ! 00061 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00062 ! 00063 !------------------------------------------------------------------------------- 00064 IF (LHOOK) CALL DR_HOOK('UPDATE_DATA_FRAC_n',0,ZHOOK_HANDLE) 00065 00066 IF (ASSOCIATED(XDATA_NATURE)) THEN 00067 IF (LHOOK) CALL DR_HOOK('UPDATE_DATA_FRAC_n',1,ZHOOK_HANDLE) 00068 RETURN 00069 END IF 00070 ! 00071 LGARDEN = OGARDEN 00072 ALLOCATE(XDATA_NATURE (JPCOVER)) 00073 ALLOCATE(XDATA_TOWN (JPCOVER)) 00074 ALLOCATE(XDATA_GARDEN (JPCOVER)) 00075 ALLOCATE(XDATA_BLD (JPCOVER)) 00076 ALLOCATE(XDATA_WALL_O_HOR(JPCOVER)) 00077 ! 00078 XDATA_NATURE = PDATA_NATURE 00079 XDATA_TOWN = PDATA_TOWN 00080 XDATA_GARDEN = PDATA_GARDEN 00081 XDATA_BLD = PDATA_BLD 00082 XDATA_WALL_O_HOR = PDATA_WALL_O_HOR 00083 ! 00084 IF (.NOT. OGARDEN) THEN 00085 XDATA_NATURE = PDATA_NATURE + PDATA_GARDEN * PDATA_TOWN 00086 XDATA_TOWN = PDATA_TOWN * ( 1. - PDATA_GARDEN) 00087 XDATA_GARDEN = 0. 00088 XDATA_BLD = PDATA_BLD / (1. - PDATA_GARDEN) 00089 XDATA_WALL_O_HOR = PDATA_WALL_O_HOR / (1. - PDATA_GARDEN) 00090 END IF 00091 00092 00093 IF (LHOOK) CALL DR_HOOK('UPDATE_DATA_FRAC_n',1,ZHOOK_HANDLE) 00094 !------------------------------------------------------------------------------- 00095 00096 END SUBROUTINE UPDATE_DATA_FRAC_n