Changeset 8642 for branches/NERC/dev_r5518_GO6_Carb_Debug/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
- Timestamp:
- 2017-10-19T18:10:44+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_GO6_Carb_Debug/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r8442 r8642 177 177 !! temporary variables 178 178 REAL(wp) :: fq0,fq1,fq2,fq3,fq4 179 !! 180 !! T and S check temporary variable 181 REAL(wp) :: sumtsn, tsnavg 182 INTEGER :: summask 179 183 !! 180 184 !!------------------------------------------------------------------ … … 474 478 if (ztmp(ji,jj) .lt. -3.0 .or. ztmp(ji,jj) .gt. 40.0 ) then 475 479 IF(lwp) WRITE(numout,*) & 476 ' trc_bio_medusa: T WARNING 2D, ', &480 ' trc_bio_medusa: T WARNING 3D, ', & 477 481 tsb(ji,jj,jk,jp_tem), tsn(ji,jj,jk,jp_tem), & 478 482 ' at (', ji, ',', jj, ',', jk, ') at time', kt 479 IF(lwp) WRITE(numout,*) & 480 ' trc_bio_medusa: T SWITCHING 2D, ', & 481 tsn(ji,jj,jk,jp_tem), ' -> ', tsb(ji,jj,jk,jp_tem) 482 !! temperatur 483 !! temperature 483 484 ztmp(ji,jj) = tsb(ji,jj,jk,jp_tem) 485 IF(lwp) WRITE(numout,*) & 486 ' trc_bio_medusa: Abnormal T suroundings Temp' 487 IF(lwp) WRITE(numout,*) & 488 tsn(ji-1,jj+1,jk,jp_tem), tsn(ji,jj+1,jk,jp_tem), tsn(ji+1,jj+1,jk,jp_tem) 489 IF(lwp) WRITE(numout,*) & 490 tsn(ji-1,jj,jk,jp_tem), tsn(ji,jj,jk,jp_tem), tsn(ji+1,jj,jk,jp_tem) 491 IF(lwp) WRITE(numout,*) & 492 tsn(ji-1,jj-1,jk,jp_tem), tsn(ji,jj-1,jk,jp_tem), tsn(ji+1,jj-1,jk,jp_tem) 493 sumtsn = ( tmask(ji-1,jj+1,jk) * tsn(ji-1,jj+1,jk,jp_tem) ) + & 494 ( tmask(ji ,jj+1,jk) * tsn(ji ,jj+1,jk,jp_tem) ) + & 495 ( tmask(ji+1,jj+1,jk) * tsn(ji+1,jj+1,jk,jp_tem) ) + & 496 ( tmask(ji-1,jj ,jk) * tsn(ji-1,jj ,jk,jp_tem) ) + & 497 ( tmask(ji+1,jj ,jk) * tsn(ji+1,jj ,jk,jp_tem) ) + & 498 ( tmask(ji-1,jj-1,jk) * tsn(ji-1,jj-1,jk,jp_tem) ) + & 499 ( tmask(ji ,jj-1,jk) * tsn(ji ,jj-1,jk,jp_tem) ) + & 500 ( tmask(ji+1,jj-1,jk) * tsn(ji+1,jj-1,jk,jp_tem) ) 501 IF(lwp) WRITE(numout,*) & 502 ' trc_bio_medusa: Abnormal T suroundings Sal' 503 IF(lwp) WRITE(numout,*) & 504 tsn(ji-1,jj+1,jk,jp_sal), tsn(ji,jj+1,jk,jp_sal), tsn(ji+1,jj+1,jk,jp_sal) 505 IF(lwp) WRITE(numout,*) & 506 tsn(ji-1,jj,jk,jp_sal), tsn(ji,jj,jk,jp_sal), tsn(ji+1,jj,jk,jp_sal) 507 IF(lwp) WRITE(numout,*) & 508 tsn(ji-1,jj-1,jk,jp_sal), tsn(ji,jj-1,jk,jp_sal), tsn(ji+1,jj-1,jk,jp_sal) 509 !! 510 IF(lwp) WRITE(numout,*) & 511 ' trc_bio_medusa: Abnormal T suroundings DIC' 512 IF(lwp) WRITE(numout,*) & 513 trn(ji-1,jj+1,jk,jpdic), trn(ji,jj+1,jk,jpdic), trn(ji+1,jj+1,jk,jpdic) 514 IF(lwp) WRITE(numout,*) & 515 trn(ji-1,jj,jk,jpdic), trn(ji,jj,jk,jpdic), trn(ji+1,jj,jk,jpdic) 516 IF(lwp) WRITE(numout,*) & 517 trn(ji-1,jj-1,jk,jpdic), trn(ji,jj-1,jk,jpdic), trn(ji+1,jj-1,jk,jpdic) 518 IF(lwp) WRITE(numout,*) & 519 ' trc_bio_medusa: Abnormal T suroundings Alk' 520 IF(lwp) WRITE(numout,*) & 521 trn(ji-1,jj+1,jk,jpalk), trn(ji,jj+1,jk,jpalk), trn(ji+1,jj+1,jk,jpalk) 522 IF(lwp) WRITE(numout,*) & 523 trn(ji-1,jj,jk,jpalk), trn(ji,jj,jk,jpalk), trn(ji+1,jj,jk,jpalk) 524 IF(lwp) WRITE(numout,*) & 525 trn(ji-1,jj-1,jk,jpalk), trn(ji,jj-1,jk,jpalk), trn(ji+1,jj-1,jk,jpalk) 526 IF(lwp) WRITE(numout,*) & 527 ' trc_bio_medusa: Abnormal T suroundings tmask' 528 IF(lwp) WRITE(numout,*) & 529 tmask(ji-1,jj+1,jk), tmask(ji,jj+1,jk), tmask(ji+1,jj+1,jk) 530 IF(lwp) WRITE(numout,*) & 531 tmask(ji-1,jj,jk), tmask(ji,jj,jk), tmask(ji+1,jj,jk) 532 IF(lwp) WRITE(numout,*) & 533 tmask(ji-1,jj-1,jk), tmask(ji,jj-1,jk), tmask(ji+1,jj-1,jk) 534 summask = tmask(ji-1,jj+1,jk) + tmask(ji ,jj+1,jk) + & 535 tmask(ji+1,jj+1,jk) + tmask(ji-1,jj ,jk) + & 536 tmask(ji+1,jj ,jk) + tmask(ji-1,jj-1,jk) + & 537 tmask(ji ,jj-1,jk) + tmask(ji+1,jj-1,jk) 538 tsnavg = ( sumtsn / summask ) 539 !! Correct out of range values 540 IF ( ( summask .EQ. 0.0 ) .OR. (tsnavg .LT. -3.0 ) .OR. & 541 ( tsnavg .GT. 40.0 ) ) THEN 542 IF (ztmp(ji,jj) .LT. -3.0 ) THEN 543 IF(lwp) WRITE(numout,*) & 544 ' trc_bio_medusa: T SWITCHING 3D, ', & 545 tsn(ji,jj,jk,jp_tem), ' -> -3.0 ' 546 ztmp(ji,jj) = -3.0 547 ENDIF 548 IF (ztmp(ji,jj) .GT. 40.0 ) THEN 549 IF(lwp) WRITE(numout,*) & 550 ' trc_bio_medusa: T SWITCHING 3D, ', & 551 tsn(ji,jj,jk,jp_tem), ' -> 40.0 ' 552 ztmp(ji,jj) = 40.0 553 ENDIF 554 ELSE 555 IF(lwp) WRITE(numout,*) & 556 ' trc_bio_medusa: T SWITCHING 3D, ', & 557 tsn(ji,jj,jk,jp_tem), ' -> surounding avg : ', tsnavg 558 ztmp(ji,jj) = tsnavg 559 ENDIF 484 560 endif 485 if (zsal(ji,jj) .lt. 0.0 .or. zsal(ji,jj) .gt. 45.0 ) then 561 !! end T chack 562 if (zsal(ji,jj) .lt. 1.0 .or. zsal(ji,jj) .gt. 47.0 ) then 486 563 IF(lwp) WRITE(numout,*) & 487 564 ' trc_bio_medusa: S WARNING 2D, ', & 488 565 tsb(ji,jj,jk,jp_sal), tsn(ji,jj,jk,jp_sal), & 489 566 ' at (', ji, ',', jj, ',', jk, ') at time', kt 567 !! Correct out of range values 568 IF (zsal(ji,jj) .LT. 1.0 ) THEN 569 IF(lwp) WRITE(numout,*) & 570 ' trc_bio_medusa: S SWITCHING 3D, ', & 571 tsn(ji,jj,jk,jp_sal), ' -> 1.0 ' 572 zsal(ji,jj) = 1.0 573 ENDIF 574 IF (zsal(ji,jj) .GT. 47.0 ) THEN 575 IF(lwp) WRITE(numout,*) & 576 ' trc_bio_medusa: T SWITCHING 3D, ', & 577 tsn(ji,jj,jk,jp_sal), ' -> 47.0 ' 578 zsal(ji,jj) = 47.0 579 ENDIF 490 580 endif 581 !! end S check 491 582 ENDIF 492 583 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.