SURFEX v7.3
General documentation of Surfex
|
00001 ! ######spl 00002 SUBROUTINE PUT_ZS_SEA_n(HPROGRAM,KI,PZS) 00003 ! ########################################### 00004 ! 00005 !!**** *PUT_ZS_SURF_ATM_n* - routine to modify nature oropgraphy using atmospheric 00006 ! model orography 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 !! 00011 !!** METHOD 00012 !! ------ 00013 !! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! 00018 !! IMPLICIT ARGUMENTS 00019 !! ------------------ 00020 !! 00021 !! REFERENCE 00022 !! --------- 00023 !! 00024 !! 00025 !! AUTHOR 00026 !! ------ 00027 !! P. Le Moigne *Meteo France* 00028 !! 00029 !! MODIFICATIONS 00030 !! ------------- 00031 !! Original 05/2007 00032 !------------------------------------------------------------------------------- 00033 ! 00034 !* 0. DECLARATIONS 00035 ! ------------ 00036 ! 00037 USE MODI_GET_LUOUT 00038 ! 00039 USE MODD_SEAFLUX_n, ONLY : XZS 00040 ! 00041 ! 00042 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00043 USE PARKIND1 ,ONLY : JPRB 00044 ! 00045 IMPLICIT NONE 00046 ! 00047 !* 0.1 Declarations of arguments 00048 ! ------------------------- 00049 ! 00050 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM 00051 INTEGER, INTENT(IN) :: KI ! horizontal dim. of cover 00052 REAL, DIMENSION(KI), INTENT(IN) :: PZS ! orography 00053 ! 00054 ! 00055 !* 0.2 Declarations of local variables 00056 ! ------------------------------- 00057 ! 00058 INTEGER :: ILUOUT 00059 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00060 ! 00061 00062 !------------------------------------------------------------------------------- 00063 IF (LHOOK) CALL DR_HOOK('PUT_ZS_SEA_N',0,ZHOOK_HANDLE) 00064 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00065 !------------------------------------------------------------------------------- 00066 ! 00067 IF ( SIZE(PZS) /= SIZE(XZS) ) THEN 00068 WRITE(ILUOUT,*) 'try to get ZS field from atmospheric model, but size is not correct' 00069 WRITE(ILUOUT,*) 'size of field expected by the atmospheric model (PZS) :', SIZE(PZS) 00070 WRITE(ILUOUT,*) 'size of field over sea (XZS) :', SIZE(XZS) 00071 STOP 00072 ELSE 00073 XZS = PZS 00074 END IF 00075 IF (LHOOK) CALL DR_HOOK('PUT_ZS_SEA_N',1,ZHOOK_HANDLE) 00076 ! 00077 !============================================================================== 00078 ! 00079 END SUBROUTINE PUT_ZS_SEA_n