|
SURFEX v7.3
General documentation of Surfex
|
00001 SUBROUTINE OI_BC_SOIL_MOISTURE (KNBPT,& 00002 !--------------------------------------------------------------------------------- 00003 ! - INPUT 1D 00004 PSM_O,PSAB,& 00005 ! - OUTPUT 1D . 00006 PWS_O) 00007 ! 00008 !**** * BC_SOIL_MOISTURE * - BIAS CORRECTION OF ASCAT SUPERFICIAL SOIL MOISTURE 00009 00010 ! Purpose. 00011 ! -------- 00012 00013 ! - Use of CDF matching technique (Koster and Reichle, 2004) 00014 ! 00015 00016 !** Interface. 00017 ! ---------- 00018 ! *CALL* *BC_SOIL_MOISTURE* 00019 00020 !---------------------------------------------------------------------------------- 00021 00022 ! Externals. 00023 ! --------- 00024 00025 ! Method. 5th other polynomial correction 00026 ! ------- 00027 00028 ! Author. 00029 ! ------- 00030 ! 09-06, J.-F. Mahfouf 00031 00032 !----------------------------------------------------------------------- 00033 ! 00034 ! 00035 ! 00036 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00037 USE PARKIND1 ,ONLY : JPRB 00038 ! 00039 IMPLICIT NONE 00040 ! 00041 INTEGER :: KNBPT 00042 INTEGER :: JROF 00043 ! 00044 REAL ,INTENT(IN) :: PSM_O(KNBPT) 00045 REAL ,INTENT(IN) :: PSAB(KNBPT) 00046 ! 00047 REAL ,INTENT(OUT) :: PWS_O(KNBPT) 00048 ! 00049 REAL :: ZWSAT, ZA0, ZA1, ZA2, ZA3, ZA4, ZA5 00050 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00051 ! 00052 ! Coefficient for 5th order polynomial fit 00053 ! 00054 IF (LHOOK) CALL DR_HOOK('OI_BC_SOIL_MOISTURE',0,ZHOOK_HANDLE) 00055 ZA0 = 8.80461E-08 00056 ZA1 = -2.21598E-05 00057 ZA2 = 0.00188043 00058 ZA3 = -0.0575883 00059 ZA4 = 0.0249301 00060 ZA5 = 15.7502 00061 ! 00062 ! Perform the bias correction when observation available 00063 ! 00064 DO JROF = 1,KNBPT 00065 IF (PSM_O(JROF) /= 999.0) THEN 00066 ZWSAT = -0.108*PSAB(JROF) + 0.494305 00067 PWS_O(JROF) = ZA0*PSM_O(JROF)**5 + ZA1*PSM_O(JROF)**4 + ZA2*PSM_O(JROF)**3 + & 00068 ZA3*PSM_O(JROF)**2 + (1.+ZA4)*PSM_O(JROF) + ZA5 00069 PWS_O(JROF) = PWS_O(JROF)*ZWSAT*0.01 00070 ELSE 00071 PWS_O(JROF) = 999.0 00072 ENDIF 00073 ENDDO 00074 IF (LHOOK) CALL DR_HOOK('OI_BC_SOIL_MOISTURE',1,ZHOOK_HANDLE) 00075 ! 00076 END SUBROUTINE OI_BC_SOIL_MOISTURE
1.8.0