22 USE modi_init_io_surf_n
23 USE modi_end_io_surf_n
29 USE yomhook
,ONLY : lhook, dr_hook
30 USE parkind1
,ONLY : jprb
41 CHARACTER(LEN=6) :: hprogram
46 CHARACTER (LEN=16) :: yrecfm
47 CHARACTER (LEN=100) :: ycomment
50 INTEGER :: iemispec_nbr
51 CHARACTER(LEN=40) :: yemispec_name
52 INTEGER :: iemispec_ntimes
53 CHARACTER(LEN=3) :: ysurf
54 INTEGER,
DIMENSION(:),
ALLOCATABLE :: itimes
55 REAL,
DIMENSION(:,:),
ALLOCATABLE :: zwork
58 REAL(KIND=JPRB) :: zhook_handle
61 IF (lhook) CALL dr_hook(
'READWRITE_EMIS_FIELD_N',0,zhook_handle)
67 hprogram,
'FULL ',
'SURF ',
'READ ')
71 hprogram,yrecfm,iversion,iresp)
74 IF (iversion<4) yrecfm=
'EMISFILE_GR_NBR'
76 hprogram,yrecfm,iemispec_nbr,iresp,ycomment)
80 CALL
abor1_sfx(
'READWRITE_EMIS_FIELDN: PROBLEM READING NUMBER OF 2D CHEMICAL EMISSION FIELDS')
84 hprogram,
'FULL ',
'SURF ',
'WRITE')
86 hprogram,yrecfm,iemispec_nbr,iresp,ycomment)
92 hprogram,
'FULL ',
'SURF ',
'READ ')
94 IF (iversion<4) yrecfm=
'EMISPEC_GR_NBR'
96 hprogram,yrecfm,iemispec_nbr,iresp,ycomment)
100 CALL
abor1_sfx(
'READWRITE_EMIS_FIELDN: PROBLEM READING NUMBER OF EMITTED CHEMICAL SPECIES')
104 hprogram,
'FULL ',
'SURF ',
'WRITE')
106 hprogram,yrecfm,iemispec_nbr,iresp,ycomment)
111 DO jspec=1,iemispec_nbr
113 hprogram,
'FULL ',
'SURF ',
'READ ')
114 WRITE(yrecfm,
'("EMISNAME",I3.3)') jspec
116 hprogram,yrecfm,yemispec_name,iresp,ycomment)
120 CALL
abor1_sfx(
'READWRITE_EMIS_FIELDN: PROBLEM WHEN READING THE NAME OF EMITTED CHEMICAL SPECIES '//yrecfm)
122 READ(ycomment,
'(A3,24x,I5)') ysurf, iemispec_ntimes
125 hprogram,
'FULL ',
'SURF ',
'WRITE')
127 hprogram,yrecfm,yemispec_name,iresp,ycomment)
132 ALLOCATE(itimes(iemispec_ntimes))
133 ALLOCATE(zwork(u%NSIZE_FULL,iemispec_ntimes))
138 hprogram,
'FULL ',
'SURF ',
'READ ')
139 yrecfm=
'E_'//trim(yemispec_name)
141 hprogram,yrecfm,zwork,iresp,ycomment)
145 CALL
abor1_sfx(
'READWRITE_EMIS_FIELDN: PROBLEM WHEN READING THE EMISSION DATA '//yrecfm)
149 hprogram,
'FULL ',
'SURF ',
'WRITE')
151 hprogram,yrecfm,zwork,iresp,ycomment)
157 hprogram,
'FULL ',
'SURF ',
'READ ')
158 WRITE(yrecfm,
'("EMISTIMES",I3.3)') jspec
160 hprogram,yrecfm,itimes,iresp,ycomment,
'-')
164 CALL
abor1_sfx(
'READWRITE_EMIS_FIELDN: PROBLEM WHEN READING THE EMISSION TIMES '//yrecfm)
168 hprogram,
'FULL ',
'SURF ',
'WRITE')
170 hprogram,yrecfm,itimes,iresp,ycomment,
'-')
180 IF (lhook) CALL dr_hook(
'READWRITE_EMIS_FIELD_N',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine readwrite_emis_field_n(DTCO, DGU, U, HPROGRAM)
subroutine abor1_sfx(YTEXT)
subroutine end_io_surf_n(HPROGRAM)
subroutine get_luout(HPROGRAM, KLUOUT)