SURFEX v8.1
General documentation of Surfex
Surfex_Git2
src
SURFEX
io_buff.F90
Go to the documentation of this file.
1
!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2
!SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3
!SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4
!SFX_LIC for details. version 1.
5
! #######################################################
6
SUBROUTINE
io_buff
(&
7
HREC,HACTION,OKNOWN)
8
! #######################################################
9
!
10
!!**** *IO_BUFF - function to check if the field has already been read/written
11
!!
12
!! PURPOSE
13
!! -------
14
!!
15
!!** METHOD
16
!! ------
17
!!
18
!! EXTERNAL
19
!! --------
20
!!
21
!!
22
!! IMPLICIT ARGUMENTS
23
!! ------------------
24
!!
25
!! REFERENCE
26
!! ---------
27
!!
28
!!
29
!! AUTHOR
30
!! ------
31
!! V. Masson *Meteo France*
32
!!
33
!! MODIFICATIONS
34
!! -------------
35
!! Original 08/2007
36
!-------------------------------------------------------------------------------
37
!
38
!* 0. DECLARATIONS
39
! ------------
40
!
41
!
42
USE
modd_io_buff
43
!
44
!
45
USE
yomhook
,ONLY
:
lhook
,
dr_hook
46
USE
parkind1
,ONLY
:
jprb
47
!
48
IMPLICIT NONE
49
!
50
!* 0.1 Declarations of arguments
51
! -------------------------
52
!
53
!
54
!
55
CHARACTER(LEN=12)
,
INTENT(IN)
:: HREC
! field to read or write
56
CHARACTER(LEN=1)
,
INTENT(IN)
:: HACTION
! 'R' : file being read
57
! 'W' : file being written
58
!
59
LOGICAL
,
INTENT(OUT)
:: OKNOWN
! T : field has already been read/written
60
!
61
!* 0.2 Declarations of local variables
62
! -------------------------------
63
!
64
INTEGER
:: JLOOP
65
REAL(KIND=JPRB)
:: ZHOOK_HANDLE
66
!-------------------------------------------------------------------------------
67
!
68
IF
(
lhook
)
CALL
dr_hook
(
'IO_BUFF'
,0,zhook_handle)
69
IF
(haction==
'R'
.OR. haction==
'W'
)
THEN
70
oknown=.false.
71
DO
jloop=1,
nrec
72
oknown=(hrec==
crec
(jloop))
73
IF
(oknown .AND.
lhook
)
CALL
dr_hook
(
'IO_BUFF'
,1,zhook_handle)
74
IF
(oknown)
RETURN
75
END DO
76
nrec
=
nrec
+1
77
crec
(
nrec
)=hrec
78
END IF
79
IF
(
lhook
)
CALL
dr_hook
(
'IO_BUFF'
,1,zhook_handle)
80
!
81
!-------------------------------------------------------------------------------
82
!
83
END SUBROUTINE
io_buff
modd_io_buff::crec
character(len=12), dimension(50000) crec
Definition:
modd_io_buff.F90:35
yomhook::dr_hook
Definition:
yomhook.F90:20
modd_io_buff
Definition:
modd_io_buff.F90:6
parkind1::jprb
integer, parameter jprb
Definition:
parkind1.F90:32
modd_io_buff::nrec
integer nrec
Definition:
modd_io_buff.F90:36
yomhook::lhook
logical lhook
Definition:
yomhook.F90:15
io_buff
subroutine io_buff(HREC, HACTION, OKNOWN)
Definition:
io_buff.F90:8
parkind1
Definition:
parkind1.F90:1
yomhook
Definition:
yomhook.F90:1
Generated on Tue Jan 16 2018 16:23:29 for SURFEX v8.1 by
1.8.13