SURFEX v7.3
General documentation of Surfex
|
00001 ! ######spl 00002 FUNCTION ALBEDO_MK10(PZENITH) RESULT(PDIR_ALB) 00003 ! ################################################################## 00004 ! 00005 !!**** *ALBEDO_MK10* 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! computes the direct albedo over open water 00010 ! 00011 ! 00012 !!** METHOD 00013 !! ------ 00014 ! 00015 !! EXTERNAL 00016 !! -------- 00017 !! 00018 !! IMPLICIT ARGUMENTS 00019 !! ------------------ 00020 !! 00021 !! 00022 !! REFERENCE 00023 !! --------- 00024 !! Modified version taken from SAM6.8 (Oct 2010) Marat Khairoutdinov 00025 !! from CCM3). For the EUCLIPSE COMPOSITE CASE. 00026 !! 00027 !! 00028 !! AUTHOR 00029 !! ------ 00030 !! E. Bazile * Meteo-France * 00031 !! 00032 !! MODIFICATIONS 00033 !! ------------- 00034 !! Original 28/03/11 00035 ! 00036 !------------------------------------------------------------------------------- 00037 ! 00038 !* 0. DECLARATIONS 00039 ! ------------ 00040 ! 00041 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00042 USE PARKIND1 ,ONLY : JPRB 00043 ! 00044 IMPLICIT NONE 00045 ! 00046 !* 0.1 declarations of arguments 00047 ! ------------------------- 00048 ! 00049 REAL, DIMENSION(:), INTENT(IN) :: PZENITH ! zenithal angle (radian) 00050 ! 00051 REAL, DIMENSION(SIZE(PZENITH)) :: PDIR_ALB ! direct albedo on water 00052 REAL, DIMENSION(SIZE(PZENITH)) :: ZCOSZRS ! Cosine of solar zenith angle 00053 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00054 ! 00055 !------------------------------------------------------------------------------- 00056 ! 00057 IF (LHOOK) CALL DR_HOOK('ALBEDO_MK10',0,ZHOOK_HANDLE) 00058 ZCOSZRS(:) = MAX(COS(PZENITH(:)),0.) 00059 PDIR_ALB(:) = ( 0.026 / (ZCOSZRS**1.7 + .065)) + & 00060 (.15*(ZCOSZRS - 0.10) * (ZCOSZRS - 0.50) * (ZCOSZRS - 1.00) ) 00061 IF (LHOOK) CALL DR_HOOK('ALBEDO_MK10',1,ZHOOK_HANDLE) 00062 ! 00063 !------------------------------------------------------------------------------- 00064 ! 00065 END FUNCTION ALBEDO_MK10