SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE GET_AOS_n(HPROGRAM,KI,PAOSIP,PAOSIM,PAOSJP,PAOSJM,& 00003 PHO2IP,PHO2IM,PHO2JP,PHO2JM ) 00004 ! ######################################## 00005 ! 00006 !!**** *GET_AOS_n* - routine to get some surface fields 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 !! V. Masson *Meteo France* 00028 !! 00029 !! MODIFICATIONS 00030 !! ------------- 00031 !! Original 01/2004 00032 !------------------------------------------------------------------------------- 00033 ! 00034 !* 0. DECLARATIONS 00035 ! ------------ 00036 ! 00037 USE MODI_GET_LUOUT 00038 ! 00039 USE MODD_SURF_ATM_SSO_n, ONLY : XAOSIP, XAOSIM, XAOSJP, XAOSJM, & 00040 XHO2IP, XHO2IM, XHO2JP, XHO2JM 00041 ! 00042 ! 00043 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00044 USE PARKIND1 ,ONLY : JPRB 00045 ! 00046 USE MODI_ABOR1_SFX 00047 ! 00048 IMPLICIT NONE 00049 ! 00050 !* 0.1 Declarations of arguments 00051 ! ------------------------- 00052 ! 00053 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM 00054 INTEGER, INTENT(IN) :: KI ! horizontal dim. of cover 00055 REAL, DIMENSION(KI), INTENT(OUT) :: PAOSIP ! subgrid orographic A/S, dir i+ 00056 REAL, DIMENSION(KI), INTENT(OUT) :: PAOSIM ! subgrid orographic A/S, dir i- 00057 REAL, DIMENSION(KI), INTENT(OUT) :: PAOSJP ! subgrid orographic A/S, dir j+ 00058 REAL, DIMENSION(KI), INTENT(OUT) :: PAOSJM ! subgrid orographic A/S, dir j- 00059 REAL, DIMENSION(KI), INTENT(OUT) :: PHO2IP ! subgrid orographic h/2, dir i+ 00060 REAL, DIMENSION(KI), INTENT(OUT) :: PHO2IM ! subgrid orographic h/2, dir i- 00061 REAL, DIMENSION(KI), INTENT(OUT) :: PHO2JP ! subgrid orographic h/2, dir j+ 00062 REAL, DIMENSION(KI), INTENT(OUT) :: PHO2JM ! subgrid orographic h/2, dir j- 00063 ! 00064 ! 00065 !* 0.2 Declarations of local variables 00066 ! ------------------------------- 00067 ! 00068 INTEGER :: ILUOUT 00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00070 ! 00071 !------------------------------------------------------------------------------- 00072 IF (LHOOK) CALL DR_HOOK('GET_AOS_N',0,ZHOOK_HANDLE) 00073 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00074 !------------------------------------------------------------------------------- 00075 ! 00076 IF ( SIZE(PAOSIP) /= SIZE(XAOSIP) ) THEN 00077 WRITE(ILUOUT,*) 'try to get A/S fields from atmospheric model, but size is not correct' 00078 WRITE(ILUOUT,*) 'size of field expected by the atmospheric model (PAOSIP) :', SIZE(PAOSIP) 00079 WRITE(ILUOUT,*) 'size of field inthe surface (XAOSIP) :', SIZE(XAOSIP) 00080 CALL ABOR1_SFX('GET_AOSN: A/S SIZE NOT CORRECT') 00081 ELSE 00082 PAOSIP = XAOSIP 00083 PAOSIM = XAOSIM 00084 PAOSJP = XAOSJP 00085 PAOSJM = XAOSJM 00086 PHO2IP = XHO2IP 00087 PHO2IM = XHO2IM 00088 PHO2JP = XHO2JP 00089 PHO2JM = XHO2JM 00090 END IF 00091 IF (LHOOK) CALL DR_HOOK('GET_AOS_N',1,ZHOOK_HANDLE) 00092 ! 00093 !============================================================================== 00094 ! 00095 END SUBROUTINE GET_AOS_n