Changeset 5704 for branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_prof.F90
- Timestamp:
- 2015-08-21T15:00:38+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_prof.F90
r5682 r5704 124 124 & itypvar2mpp 125 125 INTEGER, DIMENSION(:), ALLOCATABLE :: & 126 & iobsi, & 127 & iobsj, & 128 & iproc, & 126 & iobsi1, & 127 & iobsj1, & 128 & iproc1, & 129 & iobsi2, & 130 & iobsj2, & 131 & iproc2, & 129 132 & iindx, & 130 133 & ifileidx, & … … 298 301 299 302 IF ( inpfiles(jj)%nobs > 0 ) THEN 300 inpfiles(jj)%iproc = -1301 inpfiles(jj)%iobsi = -1302 inpfiles(jj)%iobsj = -1303 inpfiles(jj)%iproc(:,:) = -1 304 inpfiles(jj)%iobsi(:,:) = -1 305 inpfiles(jj)%iobsj(:,:) = -1 303 306 ENDIF 304 307 inowin = 0 … … 314 317 ALLOCATE( zlam(inowin) ) 315 318 ALLOCATE( zphi(inowin) ) 316 ALLOCATE( iobsi(inowin) ) 317 ALLOCATE( iobsj(inowin) ) 318 ALLOCATE( iproc(inowin) ) 319 ALLOCATE( iobsi1(inowin) ) 320 ALLOCATE( iobsj1(inowin) ) 321 ALLOCATE( iproc1(inowin) ) 322 ALLOCATE( iobsi2(inowin) ) 323 ALLOCATE( iobsj2(inowin) ) 324 ALLOCATE( iproc2(inowin) ) 319 325 inowin = 0 320 326 DO ji = 1, inpfiles(jj)%nobs … … 330 336 END DO 331 337 332 CALL obs_grid_search( inowin, zlam, zphi, iobsi, iobsj, iproc, 'T' ) 338 IF ( TRIM( inpfiles(jj)%cname(1) ) == 'POTM' ) THEN 339 CALL obs_grid_search( inowin, zlam, zphi, iobsi1, iobsj1, & 340 & iproc1, 'T' ) 341 iobsi2(:) = iobsi1(:) 342 iobsj2(:) = iobsj1(:) 343 iproc2(:) = iproc1(:) 344 ELSEIF ( TRIM( inpfiles(jj)%cname(1) ) == 'UVEL' ) THEN 345 CALL obs_grid_search( inowin, zlam, zphi, iobsi1, iobsj1, & 346 & iproc1, 'U' ) 347 CALL obs_grid_search( inowin, zlam, zphi, iobsi2, iobsj2, & 348 & iproc2, 'V' ) 349 ENDIF 333 350 334 351 inowin = 0 … … 340 357 & ( inpfiles(jj)%ptim(ji) <= djulend(jj) ) ) THEN 341 358 inowin = inowin + 1 342 inpfiles(jj)%iproc(ji,1) = iproc(inowin) 343 inpfiles(jj)%iobsi(ji,1) = iobsi(inowin) 344 inpfiles(jj)%iobsj(ji,1) = iobsj(inowin) 359 inpfiles(jj)%iproc(ji,1) = iproc1(inowin) 360 inpfiles(jj)%iobsi(ji,1) = iobsi1(inowin) 361 inpfiles(jj)%iobsj(ji,1) = iobsj1(inowin) 362 inpfiles(jj)%iproc(ji,2) = iproc2(inowin) 363 inpfiles(jj)%iobsi(ji,2) = iobsi2(inowin) 364 inpfiles(jj)%iobsj(ji,2) = iobsj2(inowin) 365 IF ( inpfiles(jj)%iproc(ji,1) /= & 366 & inpfiles(jj)%iproc(ji,2) ) THEN 367 CALL ctl_stop( 'Error in obs_read_prof:', & 368 & 'var1 and var2 observation on different processors') 369 ENDIF 345 370 ENDIF 346 371 END DO 347 DEALLOCATE( zlam, zphi, iobsi , iobsj, iproc)372 DEALLOCATE( zlam, zphi, iobsi1, iobsj1, iproc1, iobsi2, iobsj2, iproc2 ) 348 373 349 374 DO ji = 1, inpfiles(jj)%nobs … … 547 572 548 573 ! Coordinate search parameters 549 profdata%mi (iprof,:) = inpfiles(jj)%iobsi(ji,1) 550 profdata%mj (iprof,:) = inpfiles(jj)%iobsj(ji,1) 574 profdata%mi (iprof,1) = inpfiles(jj)%iobsi(ji,1) 575 profdata%mj (iprof,1) = inpfiles(jj)%iobsj(ji,1) 576 profdata%mi (iprof,2) = inpfiles(jj)%iobsi(ji,2) 577 profdata%mj (iprof,2) = inpfiles(jj)%iobsj(ji,2) 551 578 552 579 ! Profile WMO number … … 633 660 profdata%var(1)%nvlidx(ivar1t) = ij 634 661 635 ! Profile potentialvar1 value662 ! Profile var1 value 636 663 IF ( ( inpfiles(jj)%ivlqc(ij,ji,1) <= 2 ) .AND. & 637 664 & ( inpfiles(jj)%idqc(ij,ji) <= 2 ) ) THEN … … 658 685 659 686 ! Profile insitu T value 660 profdata%var(1)%vext(ivar1t,1) = & 661 & inpfiles(jj)%pext(ij,ji,1) 687 IF ( TRIM( inpfiles(jj)%cname(1) ) == 'POTM' ) THEN 688 profdata%var(1)%vext(ivar1t,1) = & 689 & inpfiles(jj)%pext(ij,ji,1) 690 ENDIF 662 691 663 692 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.