SURFEX v8.1
General documentation of Surfex
Surfex_Git2
src
LIB
FM
fmreadc0.F90
Go to the documentation of this file.
1
! ######spl
2
SUBROUTINE
fmreadc0
(HFILEM,HRECFM,HFIPRI,KLENG,HFIELD,KGRID,&
3
KLENCH,HCOMMENT,KRESP)
4
USE
parkind1
, ONLY
:
jprb
5
USE
yomhook
, ONLY
:
lhook
,
dr_hook
6
! #############################################################
7
!
8
!!**** *FMREADL1* - routine to read a logical scalar into a "FM"-file
9
!!
10
!! PURPOSE
11
!! -------
12
!
13
! The purpose of FMREADL0 is to convert the string into arrayr of
14
! integer(kind=8) and to call FM_READ without interface module
15
!
16
!!** METHOD
17
!! ------
18
!!
19
!! EXTERNAL
20
!! --------
21
!!
22
!! FM_READ
23
!!
24
!! IMPLICIT ARGUMENTS
25
!! ------------------
26
!!
27
!!
28
!! REFERENCE
29
!! ---------
30
!!
31
!!
32
!! AUTHOR
33
!! ------
34
!!
35
!! V. MASSON *METEO-FRANCE*
36
!!
37
!! MODIFICATIONS
38
!! -------------
39
!!
40
!! original 06/08/97
41
!----------------------------------------------------------------------------
42
!
43
!* 0. DECLARATIONS
44
! ------------
45
!
46
USE
modd_fmdeclar
47
IMPLICIT NONE
48
!
49
!* 0.1 Declarations of arguments
50
!
51
CHARACTER(LEN=*) ,INTENT(IN) ::HFILEM ! file name
52
CHARACTER(LEN=*) ,INTENT(IN) ::HRECFM ! name of the article to be written
53
54
CHARACTER(LEN=*) ,INTENT(IN) ::HFIPRI ! file for prints in FM
55
56
INTEGER
,
INTENT(IN)
::KLENG
! length of the data field
57
CHARACTER(LEN=*), &
58
INTENT(OUT)
::hfield
! array containing the data field
59
INTEGER
,
INTENT(OUT)
::KGRID
! C-grid indicator (u,v,w,T)
60
INTEGER
,
INTENT(OUT)
::KLENCH
! length of comment string
61
62
CHARACTER(LEN=*) ,INTENT(OUT)::HCOMMENT ! comment string
63
64
INTEGER
,
INTENT(OUT)
::KRESP
! return-code if problems araised
65
!
66
!* 0.2 Declarations of local variables
67
!
68
INTEGER
:: JLOOP
69
CHARACTER(LEN=JPXKRK) ::YCOMMENT
70
INTEGER(KIND=8)
,
DIMENSION(:)
,
ALLOCATABLE
:: IFIELD
71
INTEGER
:: ILENG
72
!-------------------------------------------------------------------------------
73
!
74
REAL(KIND=JPRB)
:: ZHOOK_HANDLE
75
IF
(
lhook
)
CALL
dr_hook
(
'FMREADC0'
,0,zhook_handle)
76
ileng=len(hfield)
77
ALLOCATE
(ifield(ileng))
78
!
79
CALL FM_READ(HFILEM,HRECFM,HFIPRI,ILENG,IFIELD,KGRID,KLENCH,YCOMMENT,KRESP)
80
!
81
IF
(kresp==0)
THEN
82
DO
jloop=1,ileng
83
hfield(jloop:jloop)=achar(ifield(jloop))
84
END DO
85
hcomment = ycomment
86
END IF
87
!
88
DEALLOCATE
(ifield)
89
!-------------------------------------------------------------------------------
90
IF
(
lhook
)
CALL
dr_hook
(
'FMREADC0'
,1,zhook_handle)
91
END SUBROUTINE
fmreadc0
fmreadc0
subroutine fmreadc0(HFILEM, HRECFM, HFIPRI, KLENG, HFIELD, KGRID, KLENCH, HCOMMENT, KRESP)
Definition:
fmreadc0.F90:4
yomhook::dr_hook
Definition:
yomhook.F90:20
modd_fmdeclar
Definition:
modd_fmdeclar.F90:2
parkind1::jprb
integer, parameter jprb
Definition:
parkind1.F90:32
yomhook::lhook
logical lhook
Definition:
yomhook.F90:15
parkind1
Definition:
parkind1.F90:1
yomhook
Definition:
yomhook.F90:1
Generated on Tue Jan 16 2018 16:23:20 for SURFEX v8.1 by
1.8.13