68 INTEGER,
INTENT(IN) :: KDIM
70 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
71 INTEGER,
INTENT(IN) :: KSIZE
72 CHARACTER(LEN=1),
OPTIONAL,
INTENT(IN) :: HDIR
80 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZDATA_SST
81 CHARACTER(LEN=12) :: YRECFM
82 CHARACTER(LEN=100):: YCOMMENT
83 CHARACTER(LEN=1) :: YDIR
87 INTEGER :: IVERSION, IBUGFIX
88 REAL(KIND=JPRB) :: ZHOOK_HANDLE
91 IF (
lhook)
CALL dr_hook(
'READ_PGD_SEAFLUX_PAR_N',0,zhook_handle)
96 IF (
PRESENT(hdir)) ydir = hdir
99 CALL read_surf(hprogram,yrecfm,iversion,iresp)
102 CALL read_surf(hprogram,yrecfm,ibugfix,iresp)
104 IF (iversion<4 .OR. iversion==4 .AND. ibugfix<=4 .OR. &
105 iversion>5 .OR. iversion==5 .AND. ibugfix>=1)
THEN 108 yrecfm=
'NDATA_SEA_TIME' 110 CALL read_surf(hprogram,yrecfm,dts%NTIME,iresp,hcomment=ycomment)
112 ALLOCATE(zdata_sst(ksize,dts%NTIME))
115 IF (iversion>5 .OR. iversion==5 .AND. ibugfix>=1)
THEN 116 WRITE(yrecfm,fmt=
'(A7,I3.3)')
'D_SST_T',jtime
117 ELSEIF (iversion<4 .OR. iversion==4 .AND. ibugfix<=4)
THEN 118 WRITE(yrecfm,fmt=
'(A9,I3.3)')
'DATA_SST_',jtime
120 WRITE(yrecfm,fmt=
'(A10,I3.3)')
'DATA_SST_T',jtime
123 CALL read_surf(hprogram,yrecfm,zdata_sst(:,jtime),iresp,&
124 hcomment=ycomment,hdir=ydir)
128 ALLOCATE(dts%XDATA_SST(kdim,dts%NTIME))
129 IF (kdim/=ksize)
THEN 132 CALL hor_interpol(dtco, u, gcp, iluout,zdata_sst(:,jtime:jtime),dts%XDATA_SST
134 DEALLOCATE(zdata_sst)
136 dts%XDATA_SST(:,:) = zdata_sst(:,:)
139 ALLOCATE(dts%TDATA_SST (dts%NTIME))
141 IF (iversion<4 .OR. iversion==4 .AND. ibugfix<=4)
THEN 143 WRITE(yrecfm,fmt=
'(A7,I3.3)')
'DTA_SST',jtime
145 CALL read_surf(hprogram,yrecfm,dts%TDATA_SST,iresp,hcomment=ycomment
148 IF (iversion>7 .OR. iversion==7 .AND. ibugfix>=3)
THEN 154 CALL read_surf(hprogram,yrecfm,dts%TDATA_SST,iresp,hcomment=ycomment)
157 IF (
lhook)
CALL dr_hook(
'READ_PGD_SEAFLUX_PAR_N',1,zhook_handle)
subroutine read_pgd_seaflux_par_n(DTCO, U, GCP, DTS, KDIM, HPROGR
logical, dimension(:), allocatable linterp
subroutine hor_interpol(DTCO, U, GCP, KLUOUT, PFIELDIN, PFIELDOUT)
subroutine get_luout(HPROGRAM, KLUOUT)