SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/ol_read_atm_ascii.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE OL_READ_ATM_ASCII (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(OUT) :: PTA
00048 REAL, DIMENSION(:,:),INTENT(OUT) :: PQA
00049 REAL, DIMENSION(:,:),INTENT(OUT) :: PWIND
00050 REAL, DIMENSION(:,:),INTENT(OUT) :: PDIR_SW
00051 REAL, DIMENSION(:,:),INTENT(OUT) :: PSCA_SW
00052 REAL, DIMENSION(:,:),INTENT(OUT) :: PLW
00053 REAL, DIMENSION(:,:),INTENT(OUT) :: PSNOW
00054 REAL, DIMENSION(:,:),INTENT(OUT) :: PRAIN
00055 REAL, DIMENSION(:,:),INTENT(OUT) :: PPS
00056 REAL, DIMENSION(:,:),INTENT(OUT) :: PCO2
00057 REAL, DIMENSION(:,:),INTENT(OUT) :: 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_ASCII',0,ZHOOK_HANDLE)
00064  CALL READ_SURF_ATM('ASCII ',PTA    (:,1:XCOUNT),KFORC_STEP,XCOUNT,22)
00065  CALL READ_SURF_ATM('ASCII ',PQA    (:,1:XCOUNT),KFORC_STEP,XCOUNT,23)
00066  CALL READ_SURF_ATM('ASCII ',PWIND  (:,1:XCOUNT),KFORC_STEP,XCOUNT,24)
00067  CALL READ_SURF_ATM('ASCII ',PLW    (:,1:XCOUNT),KFORC_STEP,XCOUNT,25)
00068  CALL READ_SURF_ATM('ASCII ',PDIR_SW(:,1:XCOUNT),KFORC_STEP,XCOUNT,26)
00069  CALL READ_SURF_ATM('ASCII ',PSCA_SW(:,1:XCOUNT),KFORC_STEP,XCOUNT,27)
00070  CALL READ_SURF_ATM('ASCII ',PRAIN  (:,1:XCOUNT),KFORC_STEP,XCOUNT,28)
00071  CALL READ_SURF_ATM('ASCII ',PSNOW  (:,1:XCOUNT),KFORC_STEP,XCOUNT,29)
00072  CALL READ_SURF_ATM('ASCII ',PPS    (:,1:XCOUNT),KFORC_STEP,XCOUNT,30)
00073  CALL READ_SURF_ATM('ASCII ',PDIR   (:,1:XCOUNT),KFORC_STEP,XCOUNT,31)
00074  CALL READ_SURF_ATM('ASCII ',PCO2   (:,1:XCOUNT),KFORC_STEP,XCOUNT,32)
00075 !
00076 IF (LHOOK) CALL DR_HOOK('OL_READ_ATM_ASCII',1,ZHOOK_HANDLE)
00077 !
00078 END SUBROUTINE OL_READ_ATM_ASCII