SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_dummyn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_DUMMY_n(HPROGRAM)
00003 !     #################################
00004 !
00005 !!****  *READ_DUMMY_n* - routine to READ dummy surface fields
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!    AUTHOR
00011 !!    ------
00012 !!      V. Masson   *Meteo France*      
00013 !!
00014 !!    MODIFICATIONS
00015 !!    -------------
00016 !!      Original    03/2004
00017 !-------------------------------------------------------------------------------
00018 !
00019 !*       0.    DECLARATIONS
00020 !              ------------
00021 !
00022 USE MODD_DUMMY_SURF_FIELDS_n, ONLY : NDUMMY_NBR,  CDUMMY_NAME,    &
00023                                        CDUMMY_AREA, XDUMMY_FIELDS  
00024 USE MODD_SURF_ATM_n         , ONLY : NSIZE_FULL
00025 !
00026 USE MODI_READ_SURF
00027 !
00028 !
00029 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00030 USE PARKIND1  ,ONLY : JPRB
00031 !
00032 IMPLICIT NONE
00033 !
00034 !*       0.1   Declarations of arguments
00035 !              -------------------------
00036 !
00037  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM     ! 
00038 !
00039 !*       0.2   Declarations of local variables
00040 !              -------------------------------
00041 !
00042 INTEGER           :: JDUMMY         ! loop counter
00043 !
00044  CHARACTER(LEN=20 ):: YSTRING20      ! string
00045  CHARACTER(LEN=3  ):: YSTRING03      ! string
00046 !
00047 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00048  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00049  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00050 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00051 !
00052 !-------------------------------------------------------------------------------
00053 !
00054 !*       2.     Number of dummy fields :
00055 !               ----------------------
00056 !
00057 IF (LHOOK) CALL DR_HOOK('READ_DUMMY_N',0,ZHOOK_HANDLE)
00058 YRECFM='DUMMY_GR_NBR'
00059 YCOMMENT=' '
00060 !
00061  CALL READ_SURF(HPROGRAM,YRECFM,NDUMMY_NBR,IRESP,HCOMMENT=YCOMMENT)
00062 !
00063 CDUMMY_NAME(:) = '                    '
00064 CDUMMY_AREA(:) = '   '
00065 
00066 !-------------------------------------------------------------------------------
00067 !
00068 !*       3.     Dummy fields :
00069 !               ------------
00070 !
00071 ALLOCATE(XDUMMY_FIELDS(NSIZE_FULL,NDUMMY_NBR))
00072 !
00073 !
00074 DO JDUMMY=1,NDUMMY_NBR
00075   !
00076   WRITE(YRECFM,FMT='(A8,I3.3,A5)') 'DUMMY_GR',JDUMMY,'     '
00077   CALL READ_SURF(HPROGRAM,YRECFM,XDUMMY_FIELDS(:,JDUMMY),IRESP,HCOMMENT=YCOMMENT)
00078   !
00079   !
00080   YSTRING20=YCOMMENT(21:40)
00081   YSTRING03=YCOMMENT(41:43)
00082   !
00083   CDUMMY_NAME(JDUMMY) = YSTRING20
00084   CDUMMY_AREA(JDUMMY) = YSTRING03
00085   !
00086 END DO
00087 IF (LHOOK) CALL DR_HOOK('READ_DUMMY_N',1,ZHOOK_HANDLE)
00088 !
00089 !-------------------------------------------------------------------------------
00090 !
00091 END SUBROUTINE READ_DUMMY_n