Changeset 474 for trunk/NEMO/OPA_SRC/OBC
- Timestamp:
- 2006-05-11T17:24:19+02:00 (18 years ago)
- Location:
- trunk/NEMO/OPA_SRC/OBC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/OBC/obcdom.F90
r247 r474 109 109 ! ------------------------------------------------ 110 110 111 IF( nbobc == 1 .OR. nbic == 0 ) THEN 112 IF(lwp) WRITE(numout,*) 113 IF(lwp) WRITE(numout,*) ' obc_dom: No isolated coastlines gcfobc is set to zero' 114 IF(lwp) WRITE(numout,*) ' ~~~~~~~' 115 nstop = nstop + 1 116 END IF 111 IF( nbobc == 1 .OR. nbic == 0 ) CALL ctl_stop( ' obc_dom: No isolated coastlines gcfobc is set to zero' ) 117 112 118 113 ! 2. Lecture of 'coastlines' file … … 190 185 191 186 IF( icheck /= 0 ) THEN 192 IF(lwp) WRITE(numout,cform_err) 193 IF(lwp) WRITE(numout,*) 'obc_dom : tmask and isolated coastlines mask are not equal', icheck 194 IF(lwp) WRITE(numout,*) '~~~~~~~' 195 nstop = nstop + 1 187 WRITE(ctmp1,*) 'obc_dom : tmask and isolated coastlines mask are not equal', icheck 188 CALL ctl_stop( ctmp1 ) 196 189 END IF 197 190 … … 350 343 DO jnic = 1, nbobc-1 351 344 IF( mnic(0,jnic) > jpnic ) THEN 352 IF(lwp) WRITE(numout,cform_err) 353 IF(lwp) WRITE(numout,*) 'obc_dom: isolated coastline ',jnic, & 354 ' has ',ip,' grid-points > ',jpnic 355 IF(lwp) WRITE(numout,*) '~~~~~~~' 356 IF(lwp) WRITE(numout,*) ' modify this dimension in obc_dom' 357 nstop = nstop + 1 345 WRITE(ctmp1,*) 'obc_dom: isolated coastline ',jnic,' has ',ip,' grid-points > ',jpnic 346 CALL ctl_stop( ctmp1 ) 358 347 END IF 359 348 IF( mnic(0,jnic) == 0 ) THEN 360 IF(lwp) WRITE(numout,cform_err) 361 IF(lwp) WRITE(numout,*) 'obc_dom: isolated coastline ',jnic, & 362 ' has 0 grid-points verify coastlines file' 363 IF(lwp) WRITE(numout,*) '~~~~~~~' 364 nstop = nstop + 1 349 WRITE(ctmp1,*) 'obc_dom: isolated coastline ',jnic,' has 0 grid-points verify coastlines file' 350 CALL ctl_stop( ctmp1 ) 365 351 END IF 366 352 END DO -
trunk/NEMO/OPA_SRC/OBC/obcini.F90
r416 r474 122 122 IF(lwp) WRITE(numout,*) ' Number of open boundaries nbobc = ',nbobc 123 123 IF(lwp) WRITE(numout,*) 124 IF( nbobc /= 0 .AND. jperio /= 0 ) THEN 125 IF(lwp) WRITE(numout,*) 126 IF(lwp) WRITE(numout,*) ' E R R O R : Cyclic or symmetric,', & 127 ' and open boundary condition are not compatible' 128 IF(lwp) WRITE(numout,*) ' ========== ' 129 IF(lwp) WRITE(numout,*) 130 nstop = nstop + 1 131 END IF 124 IF( nbobc /= 0 .AND. jperio /= 0 ) & 125 & CALL ctl_stop( ' Cyclic or symmetric, and open boundary condition are not compatible' ) 132 126 133 127 ! control prints … … 204 198 inumfbc = inumfbc+1 205 199 ELSEIF ( (rdpein*rdpeob) == 0 ) THEN 206 IF(lwp) THEN 207 WRITE(numout,cform_err) 208 WRITE(numout,*) 'obc_init : rdpein & rdpeob must be both zero or non zero' 209 nstop = nstop + 1 210 ENDIF 200 CALL ctl_stop( 'obc_init : rdpein & rdpeob must be both zero or non zero' ) 211 201 END IF 212 202 END IF … … 218 208 inumfbc = inumfbc+1 219 209 ELSEIF ( (rdpwin*rdpwob) == 0 ) THEN 220 IF(lwp) THEN 221 WRITE(numout,cform_err) 222 WRITE(numout,*) 'obc_init : rdpwin & rdpwob must be both zero or non zero' 223 nstop = nstop + 1 224 ENDIF 210 CALL ctl_stop( 'obc_init : rdpwin & rdpwob must be both zero or non zero' ) 225 211 END IF 226 212 END IF … … 232 218 inumfbc = inumfbc+1 233 219 ELSEIF ( (rdpnin*rdpnob) == 0 ) THEN 234 IF(lwp) THEN 235 WRITE(numout,cform_err) 236 WRITE(numout,*) 'obc_init : rdpnin & rdpnob must be both zero or non zero' 237 nstop = nstop + 1 238 ENDIF 220 CALL ctl_stop( 'obc_init : rdpnin & rdpnob must be both zero or non zero' ) 239 221 END IF 240 222 END IF … … 246 228 inumfbc = inumfbc+1 247 229 ELSEIF ( (rdpsin*rdpsob) == 0 ) THEN 248 IF(lwp) THEN 249 WRITE(numout,cform_err) 250 WRITE(numout,*) 'obc_init : rdpsin & rdpsob must be both zero or non zero' 251 nstop = nstop + 1 252 ENDIF 230 CALL ctl_stop( 'obc_init : rdpsin & rdpsob must be both zero or non zero' ) 253 231 END IF 254 232 END IF … … 605 583 IF( lp_obc_west ) THEN 606 584 IF( jpiwob < 2 .OR. jpiwob >= jpiglo-2 ) THEN 607 IF(lwp) WRITE(numout,*) 608 IF(lwp) WRITE(numout,*) ' E R R O R : jpiwob exceed ', jpiglo-2, 'or less than 2' 609 IF(lwp) WRITE(numout,*) ' ========== ' 610 IF(lwp) WRITE(numout,*) 611 nstop = nstop + 1 585 WRITE(ctmp1,*) ' jpiwob exceed ', jpiglo-2, 'or less than 2' 586 CALL ctl_stop( ctmp1 ) 612 587 END IF 613 588 ztestmask(:)=0. … … 625 600 IF( lp_obc_east ) THEN 626 601 IF( jpieob < 4 .OR. jpieob >= jpiglo ) THEN 627 IF(lwp) WRITE(numout,*) 628 IF(lwp) WRITE(numout,*) ' E R R O R : jpieob exceed ', jpiglo, ' or less than 4' 629 IF(lwp) WRITE(numout,*) ' ========== ' 630 IF(lwp) WRITE(numout,*) 631 nstop = nstop + 1 602 WRITE(ctmp1,*) ' jpieob exceed ', jpiglo, ' or less than 4' 603 CALL ctl_stop( ctmp1 ) 632 604 END IF 633 605 ztestmask(:)=0. … … 645 617 IF( lp_obc_north ) THEN 646 618 IF( jpjnob < 4 .OR. jpjnob >= jpjglo ) THEN 647 IF(lwp) WRITE(numout,*) 648 IF(lwp) WRITE(numout,*) ' E R R O R : jpjnob exceed ', jpjglo, ' or less than 4' 649 IF(lwp) WRITE(numout,*) ' ========== ' 650 IF(lwp) WRITE(numout,*) 651 nstop = nstop + 1 619 WRITE(ctmp1,*) 'jpjnob exceed ', jpjglo, ' or less than 4' 620 CALL ctl_stop( ctmp1 ) 652 621 END IF 653 622 ztestmask(:)=0. … … 665 634 IF( lp_obc_south ) THEN 666 635 IF( jpjsob < 2 .OR. jpjsob >= jpjglo-2 ) THEN 667 IF(lwp) WRITE(numout,*) 668 IF(lwp) WRITE(numout,*) ' E R R O R : jpjsob exceed ', jpjglo-2, ' or less than 2' 669 IF(lwp) WRITE(numout,*) ' ========== ' 670 IF(lwp) WRITE(numout,*) 671 nstop = nstop + 1 636 WRITE(ctmp1,*) ' jpjsob exceed ', jpjglo-2, ' or less than 2' 637 CALL ctl_stop( ctmp1 ) 672 638 END IF 673 639 ztestmask(:)=0. … … 687 653 IF(lwp) WRITE(numout,*) ' ========== ' 688 654 IF(lwp) WRITE(numout,*) 689 IF( jpisd /= jpiwob.OR.jpjsob /= jpjwd ) THEN 690 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit, we stop' 691 nstop = nstop + 1 692 END IF 655 IF( jpisd /= jpiwob.OR.jpjsob /= jpjwd ) & 656 & CALL ctl_stop( ' Open boundaries do not fit, we stop' ) 657 693 658 ELSE IF( icorner(1) == 1 ) THEN 694 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit at SW corner, we stop' 695 nstop = nstop + 1 659 CALL ctl_stop( ' Open boundaries do not fit at SW corner, we stop' ) 696 660 END IF 697 661 … … 701 665 IF(lwp) WRITE(numout,*) ' ========== ' 702 666 IF(lwp) WRITE(numout,*) 703 IF( jpisf /= jpieob+1.OR.jpjsob /= jpjed ) THEN 704 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit, we stop' 705 nstop = nstop + 1 706 END IF 667 IF( jpisf /= jpieob+1.OR.jpjsob /= jpjed ) & 668 & CALL ctl_stop( ' Open boundaries do not fit, we stop' ) 707 669 ELSE IF( icorner(2) == 1 ) THEN 708 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit at SE corner, we stop' 709 nstop = nstop + 1 670 CALL ctl_stop( ' Open boundaries do not fit at SE corner, we stop' ) 710 671 END IF 711 672 … … 715 676 IF(lwp) WRITE(numout,*) ' ========== ' 716 677 IF(lwp) WRITE(numout,*) 717 IF( jpinf /= jpieob+1 .OR. jpjnob+1 /= jpjef ) THEN 718 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit, we stop' 719 nstop = nstop + 1 720 END IF 678 IF( jpinf /= jpieob+1 .OR. jpjnob+1 /= jpjef ) & 679 & CALL ctl_stop( ' Open boundaries do not fit, we stop' ) 721 680 ELSE IF( icorner(3) == 1 ) THEN 722 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit at NE corner, we stop' 723 nstop = nstop + 1 681 CALL ctl_stop( ' Open boundaries do not fit at NE corner, we stop' ) 724 682 END IF 725 683 … … 729 687 IF(lwp) WRITE(numout,*) ' ========== ' 730 688 IF(lwp) WRITE(numout,*) 731 IF( jpind /= jpiwob.OR.jpjnob+1 /= jpjwf ) THEN 732 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit, we stop' 733 nstop = nstop + 1 734 END IF 689 IF( jpind /= jpiwob.OR.jpjnob+1 /= jpjwf ) & 690 & CALL ctl_stop( ' Open boundaries do not fit, we stop' ) 735 691 ELSE IF( icorner(4) == 1 ) THEN 736 IF(lwp) WRITE(numout,*) ' Open boundaries do not fit at NW corner, we stop' 737 nstop = nstop + 1 692 CALL ctl_stop( ' Open boundaries do not fit at NW corner, we stop' ) 738 693 END IF 739 694 … … 792 747 ! ... stop if e r r o r (s) detected 793 748 IF( istop /= 0 ) THEN 794 IF(lwp)WRITE(numout,*) 795 IF(lwp)WRITE(numout,*) istop,' E R R O R (S) detected : stop' 796 IF(lwp)WRITE(numout,*) ' =============== ' 797 IF(lwp)WRITE(numout,*) 798 nstop = nstop + 1 749 WRITE(ctmp1,*) istop,' obcini : E R R O R (S) detected : stop' 750 CALL ctl_stop( ctmp1 ) 799 751 ENDIF 800 752 ENDIF … … 821 773 ! ... stop if e r r o r (s) detected 822 774 IF( istop /= 0 ) THEN 823 IF(lwp)WRITE(numout,*) 824 IF(lwp)WRITE(numout,*) istop,' E R R O R (S) detected : stop' 825 IF(lwp)WRITE(numout,*) ' =============== ' 826 IF(lwp)WRITE(numout,*) 827 nstop = nstop + 1 775 WRITE(ctmp1,*) istop,' obcini : E R R O R (S) detected : stop' 776 CALL ctl_stop( ctmp1 ) 828 777 ENDIF 829 778 ENDIF … … 850 799 ! ... stop if e r r o r (s) detected 851 800 IF( istop /= 0 ) THEN 852 IF(lwp)WRITE(numout,*) 853 IF(lwp)WRITE(numout,*) istop,' E R R O R (S) detected : stop' 854 IF(lwp)WRITE(numout,*) ' =============== ' 855 IF(lwp)WRITE(numout,*) 856 nstop = nstop + 1 857 ENDIF 801 WRITE(ctmp1,*) istop,' obcini : E R R O R (S) detected : stop' 802 CALL ctl_stop( ctmp1 ) 803 ENDIF 858 804 ENDIF 859 805 ENDIF … … 879 825 ! ... stop if e r r o r (s) detected 880 826 IF( istop /= 0 ) THEN 881 IF(lwp)WRITE(numout,*) 882 IF(lwp)WRITE(numout,*) istop,' E R R O R (S) detected : stop' 883 IF(lwp)WRITE(numout,*) ' =============== ' 884 IF(lwp)WRITE(numout,*) 885 nstop = nstop + 1 827 WRITE(ctmp1,*) istop,' obcini : E R R O R (S) detected : stop' 828 CALL ctl_stop( ctmp1 ) 886 829 ENDIF 887 830 ENDIF -
trunk/NEMO/OPA_SRC/OBC/obcrst.F90
r367 r474 102 102 RECL = nreclo, & 103 103 FORM = 'UNFORMATTED' ) 104 IF( ios > 0 ) THEN 105 IF(lwp) WRITE(numout,*) ' ' 106 IF(lwp) WRITE(numout,*) ' Pbm to OPEN the restart.obc.output file ' 107 IF(lwp) WRITE(numout,*) ' ' 108 nstop = nstop + 1 109 END IF 110 104 IF( ios > 0 ) CALL ctl_stop( ' Pbm to OPEN the restart.obc.output file ' ) 105 111 106 ! 1.2 Write header 112 107 ! ---------------- … … 363 358 RECL = nreclo, & 364 359 FORM = 'UNFORMATTED' ) 365 IF( ios > 0 ) THEN 366 IF(lwp) WRITE(numout,*) ' Pbm to OPEN the restart.obc file ' 367 nstop = nstop + 1 368 END IF 360 IF( ios > 0 ) CALL ctl_stop( ' Pbm to OPEN the restart.obc file ' ) 369 361 370 362 ! 1. Read … … 385 377 ! -------------------- 386 378 IF( ( it0-it1 ) /= 1 .AND. abs(nrstdt) == 1 ) THEN 387 IF(lwp) THEN 388 WRITE(numout,*) ' ===>>>> : problem with nit000 for the restart' 389 WRITE(numout,*) ' ==============' 390 WRITE(numout,*) ' we stop in obc_rst_lec routine. Verify the file or rerun with the value' 391 WRITE(numout,*) ' 0 for the control of time parameter nrstdt' 392 WRITE(numout,*) ' ' 393 END IF 394 nstop = nstop + 1 379 CALL ctl_stop( ' ===>>>> : problem with nit000 for the restart', & 380 & ' ==============', & 381 & ' we stop in obc_rst_lec routine. Verify the file or rerun with the value', & 382 & ' 0 for the control of time parameter nrstdt' ) 383 395 384 END IF 396 385 … … 411 400 WRITE(numout,*) ' ' 412 401 WRITE(numout,*) ' East open boundary' 413 IF( jpieob0 /= jpieob1 ) THEN 414 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpieob have changed' 415 nstop = nstop + 1 416 END IF 402 IF( jpieob0 /= jpieob1 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpieob have changed' ) 417 403 END IF 418 404 END IF … … 422 408 WRITE(numout,*) ' ' 423 409 WRITE(numout,*) ' West open boundary' 424 IF( jpiwob0 /= jpiwob1 ) THEN 425 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpiwob has changed' 426 nstop = nstop + 1 427 END IF 410 IF( jpiwob0 /= jpiwob1 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpiwob has changed' ) 428 411 END IF 429 412 END IF … … 433 416 WRITE(numout,*) ' ' 434 417 WRITE(numout,*) ' North open boundary' 435 IF( jpjnob0 /= jpjnob1 ) THEN 436 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjnob has changed' 437 nstop = nstop + 1 438 END IF 418 IF( jpjnob0 /= jpjnob1 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjnob has changed' ) 439 419 END IF 440 420 END IF … … 444 424 WRITE(numout,*) ' ' 445 425 WRITE(numout,*) ' South open boundary' 446 IF( jpjsob0 /= jpjsob1) THEN 447 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjsob has changed' 448 nstop = nstop + 1 449 END IF 426 IF( jpjsob0 /= jpjsob1) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjsob has changed' ) 450 427 END IF 451 428 END IF … … 455 432 ! ------------------------------------------ 456 433 IF( lp_obc_east .AND. ( jpieob1 /= 0 ) ) THEN 457 IF(lwp) THEN 458 IF( ied1 /= ied0 ) THEN 459 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjed has changed' 460 nstop = nstop + 1 461 END IF 462 IF( ief1 /= ief0 ) THEN 463 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjef has changed' 464 nstop = nstop + 1 465 END IF 466 END IF 434 IF( ied1 /= ied0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjed has changed' ) 435 IF( ief1 /= ief0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjef has changed' ) 467 436 END IF 468 437 469 438 IF( lp_obc_west .AND. ( jpiwob1 /= 0 ) ) THEN 470 IF(lwp) THEN 471 IF( iwd1 /= iwd0 ) THEN 472 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjwd has changed' 473 nstop = nstop + 1 474 END IF 475 IF( iwf1 /= iwf0 ) THEN 476 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpjwf has changed' 477 nstop = nstop + 1 478 END IF 479 END IF 439 IF( iwd1 /= iwd0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjwd has changed' ) 440 IF( iwf1 /= iwf0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpjwf has changed' ) 480 441 END IF 481 442 482 443 IF( lp_obc_north .AND. ( jpjnob1 /= 0 ) ) THEN 483 IF(lwp) THEN 484 IF( ind1 /= ind0 ) THEN 485 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpind has changed' 486 nstop = nstop + 1 487 END IF 488 IF( inf1 /= inf0 ) THEN 489 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpinf has changed' 490 nstop = nstop + 1 491 END IF 492 END IF 444 IF( ind1 /= ind0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpind has changed' ) 445 IF( inf1 /= inf0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpinf has changed' ) 493 446 END IF 494 447 495 448 IF( lp_obc_south .AND. ( jpjsob1 /= 0 ) ) THEN 496 IF(lwp) THEN 497 IF( isd1 /= isd0 ) THEN 498 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpisd has changed' 499 nstop = nstop + 1 500 END IF 501 IF( isf1 /= isf0 ) THEN 502 WRITE(numout,*) ' ==>>>> : Problem in obc_rst_lec, jpisf has changed' 503 nstop = nstop + 1 504 END IF 505 END IF 449 IF( isd1 /= isd0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpisd has changed' ) 450 IF( isf1 /= isf0 ) CALL ctl_stop( ' ==>>>> : Problem in obc_rst_lec, jpisf has changed' ) 506 451 END IF 507 452
Note: See TracChangeset
for help on using the changeset viewer.