6 SUBROUTINE read_surf_atm (HPROGRAM, PFIELD, KFORC_STEP, KNB, KINIT)
64 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: PFIELD
65 INTEGER,
INTENT(IN) :: KFORC_STEP
66 INTEGER,
INTENT(IN) :: KNB
67 INTEGER,
INTENT(IN) :: KINIT
68 CHARACTER(LEN=6) ,
INTENT(IN) :: HPROGRAM
71 INTEGER :: I, INI, J, I1
72 CHARACTER(LEN=4),
DIMENSION(:),
ALLOCATABLE :: YF
73 CHARACTER(LEN=4) :: YWORK
74 DOUBLE PRECISION :: XTIME0
76 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZFIELD
79 REAL(KIND=JPRB) :: ZHOOK_HANDLE
85 ALLOCATE(zfield(ini,
SIZE(pfield,2)))
86 IF (hprogram ==
'BINARY')
THEN 102 IF (hprogram ==
'ASCII ')
THEN 104 IF (kforc_step .EQ. 1)
THEN 109 zfield(:,1) = zfield(:,knb)
113 READ(unit=kinit,fmt=*) zwork
116 READ(unit=kinit,fmt=*) zfield(:,i)
120 ELSE IF (hprogram ==
'BINARY')
THEN 122 IF (kforc_step .EQ. 1)
THEN 127 zfield(:,1) = zfield(:,knb)
131 READ(unit=kinit,rec=kforc_step+i-1) ywork
134 READ(unit=kinit,rec=kforc_step+i-1) yf(:)
137 IF ( any(abs(zfield(:,i))>0. .AND. abs(zfield(:,i))<1.e-30) &
138 .OR. any(abs(zfield(:,i))>1.e6) )
THEN 139 CALL abor1_sfx(
'READ_SURF_ATM: SWAP SET IN YOUR PARAMS_CONFIG FILE SEEMS '//&
140 'INAPPROPRIATE - VERIFY ')
155 IF (hprogram==
'BINARY')
THEN
subroutine read_surf_atm(HPROGRAM, PFIELD, KFORC_STEP, KNB, KINIT)
subroutine abor1_sfx(YTEXT)
integer, dimension(:), allocatable nindex
logical, dimension(nnwl), parameter little_endian_arch