SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/ol_read_atm_binary.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE OL_READ_ATM_BINARY(KFORC_STEP,                                 &
00003                               PTA,PQA,PWIND,PDIR_SW,PSCA_SW,PLW,PSNOW,    &
00004                               PRAIN,PPS,PCO2,PDIR                         )  
00005 !**************************************************************************
00006 !
00007 !!    PURPOSE
00008 !!    -------
00009 !         Read in the ascii file the atmospheric forcing for the actual time
00010 !         step KFORC_STEP, and for the next one.
00011 !         The two time step are needed for the time interpolation of the
00012 !         forcing.
00013 !         If the end of the file  is reached, set the two step to the last
00014 !         values.
00015 !         Return undef value if the variable is not present
00016 !!
00017 !!**  METHOD
00018 !!    ------
00019 !!
00020 !!    EXTERNAL
00021 !!    --------
00022 !!
00023 !!    IMPLICIT ARGUMENTS
00024 !!    ------------------
00025 !!
00026 !!    REFERENCE
00027 !!    ---------
00028 !!
00029 !!
00030 !!    AUTHOR
00031 !!    ------
00032 !!      A. Lemonsu  *Meteo France*      
00033 !!
00034 !!    MODIFICATIONS
00035 !!    -------------
00036 !!      Original     03/2008        
00037 !
00038 USE MODD_IO_SURF_OL, ONLY : XCOUNT
00039 USE MODI_READ_SURF_ATM
00040 !
00041 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00042 USE PARKIND1  ,ONLY : JPRB
00043 !
00044 IMPLICIT NONE
00045 !
00046 ! global variables
00047 REAL, DIMENSION(:,:),INTENT(INOUT) :: PTA
00048 REAL, DIMENSION(:,:),INTENT(INOUT) :: PQA
00049 REAL, DIMENSION(:,:),INTENT(INOUT) :: PWIND
00050 REAL, DIMENSION(:,:),INTENT(INOUT) :: PDIR_SW
00051 REAL, DIMENSION(:,:),INTENT(INOUT) :: PSCA_SW
00052 REAL, DIMENSION(:,:),INTENT(INOUT) :: PLW
00053 REAL, DIMENSION(:,:),INTENT(INOUT) :: PSNOW
00054 REAL, DIMENSION(:,:),INTENT(INOUT) :: PRAIN
00055 REAL, DIMENSION(:,:),INTENT(INOUT) :: PPS
00056 REAL, DIMENSION(:,:),INTENT(INOUT) :: PCO2
00057 REAL, DIMENSION(:,:),INTENT(INOUT) :: PDIR
00058 INTEGER,INTENT(IN)               :: KFORC_STEP
00059 ! local variables
00060 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00061 ! 
00062 ! read data
00063 IF (LHOOK) CALL DR_HOOK('OL_READ_ATM_BINARY',0,ZHOOK_HANDLE)
00064  CALL READ_SURF_ATM('BINARY',PTA    (:,1:XCOUNT),KFORC_STEP,XCOUNT,22)
00065  CALL READ_SURF_ATM('BINARY',PQA    (:,1:XCOUNT),KFORC_STEP,XCOUNT,23)
00066  CALL READ_SURF_ATM('BINARY',PWIND  (:,1:XCOUNT),KFORC_STEP,XCOUNT,24)
00067  CALL READ_SURF_ATM('BINARY',PLW    (:,1:XCOUNT),KFORC_STEP,XCOUNT,25)
00068  CALL READ_SURF_ATM('BINARY',PDIR_SW(:,1:XCOUNT),KFORC_STEP,XCOUNT,26)
00069  CALL READ_SURF_ATM('BINARY',PSCA_SW(:,1:XCOUNT),KFORC_STEP,XCOUNT,27)
00070  CALL READ_SURF_ATM('BINARY',PRAIN  (:,1:XCOUNT),KFORC_STEP,XCOUNT,28)
00071  CALL READ_SURF_ATM('BINARY',PSNOW  (:,1:XCOUNT),KFORC_STEP,XCOUNT,29)
00072  CALL READ_SURF_ATM('BINARY',PPS    (:,1:XCOUNT),KFORC_STEP,XCOUNT,30)
00073  CALL READ_SURF_ATM('BINARY',PDIR   (:,1:XCOUNT),KFORC_STEP,XCOUNT,31)
00074  CALL READ_SURF_ATM('BINARY',PCO2   (:,1:XCOUNT),KFORC_STEP,XCOUNT,32)
00075 !
00076 IF (LHOOK) CALL DR_HOOK('OL_READ_ATM_BINARY',1,ZHOOK_HANDLE)
00077 !
00078 END SUBROUTINE OL_READ_ATM_BINARY