Changeset 11863 for branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_surf.F90
- Timestamp:
- 2019-11-05T18:22:07+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_surf.F90
r11468 r11863 40 40 SUBROUTINE obs_rea_surf( surfdata, knumfiles, cdfilenames, & 41 41 & kvars, kextr, kstp, ddobsini, ddobsend, & 42 & ldignmis, ldmod, ldnightav, ldclim )42 & ldignmis, ldmod, ldnightav, ldclim, cdvars ) 43 43 !!--------------------------------------------------------------------- 44 44 !! … … 74 74 REAL(dp), INTENT(IN) :: ddobsini ! Obs. ini time in YYYYMMDD.HHMMSS 75 75 REAL(dp), INTENT(IN) :: ddobsend ! Obs. end time in YYYYMMDD.HHMMSS 76 CHARACTER(len=8), DIMENSION(kvars), INTENT(IN) :: cdvars 76 77 77 78 !! * Local declarations 78 79 CHARACTER(LEN=11), PARAMETER :: cpname='obs_rea_surf' 79 80 CHARACTER(len=8) :: clrefdate 80 CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars 81 CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvarsin 81 82 INTEGER :: ji 82 83 INTEGER :: jj … … 182 183 & ldgrid = .TRUE. ) 183 184 185 IF ( inpfiles(jj)%nvar /= kvars ) THEN 186 CALL ctl_stop( 'Feedback format error: ', & 187 & ' unexpected number of vars in feedback file' ) 188 ENDIF 189 184 190 IF ( ldmod .AND. ( inpfiles(jj)%nadd == 0 ) ) THEN 185 191 CALL ctl_stop( 'Model not in input data' ) … … 188 194 189 195 IF ( jj == 1 ) THEN 190 ALLOCATE( clvars ( inpfiles(jj)%nvar ) )196 ALLOCATE( clvarsin( inpfiles(jj)%nvar ) ) 191 197 DO ji = 1, inpfiles(jj)%nvar 192 clvars(ji) = inpfiles(jj)%cname(ji) 198 clvarsin(ji) = inpfiles(jj)%cname(ji) 199 IF ( clvarsin(ji) /= cdvars(ji) ) THEN 200 CALL ctl_stop( 'Feedback file variables do not match', & 201 & ' expected variable names for this type' ) 202 ENDIF 193 203 END DO 194 204 ELSE 195 205 DO ji = 1, inpfiles(jj)%nvar 196 IF ( inpfiles(jj)%cname(ji) /= clvars (ji) ) THEN206 IF ( inpfiles(jj)%cname(ji) /= clvarsin(ji) ) THEN 197 207 CALL ctl_stop( 'Feedback file variables not consistent', & 198 208 & ' with previous files for this type' ) … … 365 375 366 376 iobs = 0 367 surfdata%cvars(:) = clvars (:)377 surfdata%cvars(:) = clvarsin(:) 368 378 IF ( ldmod .AND. ( TRIM( surfdata%cvars(1) ) == 'SLA' ) ) THEN 369 379 surfdata%cext(1) = 'SSH' … … 510 520 ! Deallocate temporary data 511 521 !----------------------------------------------------------------------- 512 DEALLOCATE( ifileidx, isurfidx, zdat, clvars )522 DEALLOCATE( ifileidx, isurfidx, zdat, clvarsin ) 513 523 514 524 !-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.