Changeset 10417
- Timestamp:
- 2018-12-19T15:14:45+01:00 (4 years ago)
- Location:
- NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/BDY/bdyini.F90
r10402 r10417 1203 1203 END DO 1204 1204 IF( icount /= 0 ) THEN 1205 IF(lwp) WRITE(numout,*) 1206 IF(lwp) WRITE(numout,*) ' E R R O R : Some ',cgrid(igrd),' grid points,', & 1205 WRITE(ctmp1,*) ' E R R O R : Some ',cgrid(igrd),' grid points,', & 1207 1206 ' are not boundary points (flagu calculation). Check nbi, nbj, indices for boundary set ',ib_bdy 1208 IF(lwp) WRITE(numout,*) ' ========== ' 1209 IF(lwp) WRITE(numout,*) 1210 nstop = nstop + 1 1207 WRITE(ctmp2,*) ' ========== ' 1208 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1211 1209 ENDIF 1212 1210 END DO … … 1238 1236 END DO 1239 1237 IF( icount /= 0 ) THEN 1240 IF(lwp) WRITE(numout,*) 1241 IF(lwp) WRITE(numout,*) ' E R R O R : Some ',cgrid(igrd),' grid points,', & 1238 WRITE(ctmp1,*) ' E R R O R : Some ',cgrid(igrd),' grid points,', & 1242 1239 ' are not boundary points (flagv calculation). Check nbi, nbj, indices for boundary set ',ib_bdy 1243 IF(lwp) WRITE(numout,*) ' ========== ' 1244 IF(lwp) WRITE(numout,*) 1245 nstop = nstop + 1 1240 WRITE(ctmp2,*) ' ========== ' 1241 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1246 1242 ENDIF 1247 1243 END DO … … 1376 1372 icorns(ib2,1) = npckgw(ib1) 1377 1373 ELSEIF ((jpisft(ib2)==jpiwob(ib1)).AND.(jpjwft(ib1)==jpjsob(ib2))) THEN 1378 IF(lwp) WRITE(numout,*) 1379 IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1380 & jpisft(ib2), jpjwft(ib1) 1381 IF(lwp) WRITE(numout,*) ' ========== Not allowed yet' 1382 IF(lwp) WRITE(numout,*) ' Crossing problem with West segment: ',npckgw(ib1), & 1383 & ' and South segment: ',npckgs(ib2) 1384 IF(lwp) WRITE(numout,*) 1385 nstop = nstop + 1 1374 WRITE(ctmp1,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1375 & jpisft(ib2), jpjwft(ib1) 1376 WRITE(ctmp2,*) ' ========== Not allowed yet' 1377 WRITE(ctmp3,*) ' Crossing problem with West segment: ',npckgw(ib1), & 1378 & ' and South segment: ',npckgs(ib2) 1379 CALL ctl_stop( ' ', ctmp1, ctmp2, ctmp3, ' ' ) 1386 1380 ELSE 1387 IF(lwp) WRITE(numout,*) 1388 IF(lwp) WRITE(numout,*) ' E R R O R : Check South and West Open boundary indices' 1389 IF(lwp) WRITE(numout,*) ' ========== Crossing problem with West segment: ',npckgw(ib1) , & 1390 & ' and South segment: ',npckgs(ib2) 1391 IF(lwp) WRITE(numout,*) 1392 nstop = nstop+1 1381 WRITE(ctmp1,*) ' E R R O R : Check South and West Open boundary indices' 1382 WRITE(ctmp2,*) ' ========== Crossing problem with West segment: ',npckgw(ib1) , & 1383 & ' and South segment: ',npckgs(ib2) 1384 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1393 1385 END IF 1394 1386 END IF … … 1412 1404 icorns(ib2,2) = npckge(ib1) 1413 1405 ELSEIF ((jpjeft(ib1)==jpjsob(ib2)).AND.(jpisdt(ib2)==jpieob(ib1)+1)) THEN 1414 IF(lwp) WRITE(numout,*) 1415 IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1416 & jpisdt(ib2), jpjeft(ib1) 1417 IF(lwp) WRITE(numout,*) ' ========== Not allowed yet' 1418 IF(lwp) WRITE(numout,*) ' Crossing problem with East segment: ',npckge(ib1), & 1419 & ' and South segment: ',npckgs(ib2) 1420 IF(lwp) WRITE(numout,*) 1421 nstop = nstop + 1 1406 WRITE(ctmp1,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1407 & jpisdt(ib2), jpjeft(ib1) 1408 WRITE(ctmp2,*) ' ========== Not allowed yet' 1409 WRITE(ctmp3,*) ' Crossing problem with East segment: ',npckge(ib1), & 1410 & ' and South segment: ',npckgs(ib2) 1411 CALL ctl_stop( ' ', ctmp1, ctmp2, ctmp3, ' ' ) 1422 1412 ELSE 1423 IF(lwp) WRITE(numout,*) 1424 IF(lwp) WRITE(numout,*) ' E R R O R : Check South and East Open boundary indices' 1425 IF(lwp) WRITE(numout,*) ' ========== Crossing problem with East segment: ',npckge(ib1), & 1426 & ' and South segment: ',npckgs(ib2) 1427 IF(lwp) WRITE(numout,*) 1428 nstop = nstop + 1 1413 WRITE(ctmp1,*) ' E R R O R : Check South and East Open boundary indices' 1414 WRITE(ctmp2,*) ' ========== Crossing problem with East segment: ',npckge(ib1), & 1415 & ' and South segment: ',npckgs(ib2) 1416 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1429 1417 END IF 1430 1418 END IF … … 1448 1436 icornn(ib2,1) = npckgw(ib1) 1449 1437 ELSEIF ((jpjwdt(ib1)==jpjnob(ib2)+1).AND.(jpinft(ib2)==jpiwob(ib1))) THEN 1450 IF(lwp) WRITE(numout,*) 1451 IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1438 WRITE(ctmp1,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1452 1439 & jpinft(ib2), jpjwdt(ib1) 1453 IF(lwp) WRITE(numout,*) ' ========== Not allowed yet'1454 IF(lwp) WRITE(numout,*) ' Crossing problem with West segment: ',npckgw(ib1), &1440 WRITE(ctmp2,*) ' ========== Not allowed yet' 1441 WRITE(ctmp3,*) ' Crossing problem with West segment: ',npckgw(ib1), & 1455 1442 & ' and North segment: ',npckgn(ib2) 1456 IF(lwp) WRITE(numout,*) 1457 nstop = nstop + 1 1443 CALL ctl_stop( ' ', ctmp1, ctmp2, ctmp3, ' ' ) 1458 1444 ELSE 1459 IF(lwp) WRITE(numout,*) 1460 IF(lwp) WRITE(numout,*) ' E R R O R : Check North and West Open boundary indices' 1461 IF(lwp) WRITE(numout,*) ' ========== Crossing problem with West segment: ',npckgw(ib1), & 1445 WRITE(ctmp1,*) ' E R R O R : Check North and West Open boundary indices' 1446 WRITE(ctmp2,*) ' ========== Crossing problem with West segment: ',npckgw(ib1), & 1462 1447 & ' and North segment: ',npckgn(ib2) 1463 IF(lwp) WRITE(numout,*) 1464 nstop = nstop + 1 1448 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1465 1449 END IF 1466 1450 END IF … … 1484 1468 icornn(ib2,2) = npckge(ib1) 1485 1469 ELSEIF ((jpjedt(ib1)==jpjnob(ib2)+1).AND.(jpindt(ib2)==jpieob(ib1)+1)) THEN 1486 IF(lwp) WRITE(numout,*) 1487 IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1470 WRITE(ctmp1,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', & 1488 1471 & jpindt(ib2), jpjedt(ib1) 1489 IF(lwp) WRITE(numout,*) ' ========== Not allowed yet' 1490 IF(lwp) WRITE(numout,*) ' Crossing problem with East segment: ',npckge(ib1), & 1491 & ' and North segment: ',npckgn(ib2) 1492 IF(lwp) WRITE(numout,*) 1493 nstop = nstop + 1 1472 WRITE(ctmp2,*) ' ========== Not allowed yet' 1473 WRITE(ctmp3,*) ' Crossing problem with East segment: ',npckge(ib1), & 1474 & ' and North segment: ',npckgn(ib2) 1475 CALL ctl_stop( ' ', ctmp1, ctmp2, ctmp3, ' ' ) 1494 1476 ELSE 1495 IF(lwp) WRITE(numout,*) 1496 IF(lwp) WRITE(numout,*) ' E R R O R : Check North and East Open boundary indices' 1497 IF(lwp) WRITE(numout,*) ' ========== Crossing problem with East segment: ',npckge(ib1), & 1498 & ' and North segment: ',npckgn(ib2) 1499 IF(lwp) WRITE(numout,*) 1500 nstop = nstop + 1 1477 WRITE(ctmp1,*) ' E R R O R : Check North and East Open boundary indices' 1478 WRITE(ctmp2,*) ' ========== Crossing problem with East segment: ',npckge(ib1), & 1479 & ' and North segment: ',npckgn(ib2) 1480 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1501 1481 END IF 1502 1482 END IF … … 1524 1504 IF (ztestmask(1)==1) THEN 1525 1505 IF (icornw(ib,1)==0) THEN 1526 IF(lwp) WRITE(numout,*) 1527 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgw(ib) 1528 IF(lwp) WRITE(numout,*) ' ========== does not start on land or on a corner' 1529 IF(lwp) WRITE(numout,*) 1530 nstop = nstop + 1 1506 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgw(ib) 1507 WRITE(ctmp2,*) ' ========== does not start on land or on a corner' 1508 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1531 1509 ELSE 1532 1510 ! This is a corner … … 1538 1516 IF (ztestmask(2)==1) THEN 1539 1517 IF (icornw(ib,2)==0) THEN 1540 IF(lwp) WRITE(numout,*) 1541 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgw(ib) 1542 IF(lwp) WRITE(numout,*) ' ========== does not end on land or on a corner' 1543 IF(lwp) WRITE(numout,*) 1544 nstop = nstop + 1 1518 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgw(ib) 1519 WRITE(ctmp2,*) ' ========== does not end on land or on a corner' 1520 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1545 1521 ELSE 1546 1522 ! This is a corner … … 1568 1544 IF (ztestmask(1)==1) THEN 1569 1545 IF (icorne(ib,1)==0) THEN 1570 IF(lwp) WRITE(numout,*) 1571 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckge(ib) 1572 IF(lwp) WRITE(numout,*) ' ========== does not start on land or on a corner' 1573 IF(lwp) WRITE(numout,*) 1574 nstop = nstop + 1 1546 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckge(ib) 1547 WRITE(ctmp2,*) ' ========== does not start on land or on a corner' 1548 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1575 1549 ELSE 1576 1550 ! This is a corner … … 1582 1556 IF (ztestmask(2)==1) THEN 1583 1557 IF (icorne(ib,2)==0) THEN 1584 IF(lwp) WRITE(numout,*) 1585 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckge(ib) 1586 IF(lwp) WRITE(numout,*) ' ========== does not end on land or on a corner' 1587 IF(lwp) WRITE(numout,*) 1588 nstop = nstop + 1 1558 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckge(ib) 1559 WRITE(ctmp2,*) ' ========== does not end on land or on a corner' 1560 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1589 1561 ELSE 1590 1562 ! This is a corner … … 1611 1583 1612 1584 IF ((ztestmask(1)==1).AND.(icorns(ib,1)==0)) THEN 1613 IF(lwp) WRITE(numout,*) 1614 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgs(ib) 1615 IF(lwp) WRITE(numout,*) ' ========== does not start on land or on a corner' 1616 IF(lwp) WRITE(numout,*) 1617 nstop = nstop + 1 1585 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgs(ib) 1586 WRITE(ctmp2,*) ' ========== does not start on land or on a corner' 1587 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1618 1588 ENDIF 1619 1589 IF ((ztestmask(2)==1).AND.(icorns(ib,2)==0)) THEN 1620 IF(lwp) WRITE(numout,*) 1621 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgs(ib) 1622 IF(lwp) WRITE(numout,*) ' ========== does not end on land or on a corner' 1623 IF(lwp) WRITE(numout,*) 1624 nstop = nstop + 1 1590 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgs(ib) 1591 WRITE(ctmp2,*) ' ========== does not end on land or on a corner' 1592 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1625 1593 ENDIF 1626 1594 END DO … … 1641 1609 1642 1610 IF ((ztestmask(1)==1).AND.(icornn(ib,1)==0)) THEN 1643 IF(lwp) WRITE(numout,*) 1644 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgn(ib) 1645 IF(lwp) WRITE(numout,*) ' ========== does not start on land' 1646 IF(lwp) WRITE(numout,*) 1647 nstop = nstop + 1 1611 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgn(ib) 1612 WRITE(ctmp2,*) ' ========== does not start on land' 1613 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1648 1614 ENDIF 1649 1615 IF ((ztestmask(2)==1).AND.(icornn(ib,2)==0)) THEN 1650 IF(lwp) WRITE(numout,*) 1651 IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgn(ib) 1652 IF(lwp) WRITE(numout,*) ' ========== does not end on land' 1653 IF(lwp) WRITE(numout,*) 1654 nstop = nstop + 1 1616 WRITE(ctmp1,*) ' E R R O R : Open boundary segment ', npckgn(ib) 1617 WRITE(ctmp2,*) ' ========== does not end on land' 1618 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1655 1619 ENDIF 1656 1620 END DO … … 1691 1655 ! 1692 1656 IF( itest>0 ) THEN 1693 IF(lwp) WRITE(numout,*) ' E R R O R : Segments ', ib1, 'and ', ib2 1694 IF(lwp) WRITE(numout,*) ' ========== have different open bdy schemes' 1695 IF(lwp) WRITE(numout,*) 1696 nstop = nstop + 1 1657 WRITE(ctmp1,*) ' E R R O R : Segments ', ib1, 'and ', ib2 1658 WRITE(ctmp2,*) ' ========== have different open bdy schemes' 1659 CALL ctl_stop( ' ', ctmp1, ctmp2, ' ' ) 1697 1660 ENDIF 1698 1661 ! -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DIA/diaharm.F90
r10068 r10417 22 22 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 23 23 USE timing ! preformance summary 24 USE lib_mpp ! MPP library 24 25 25 26 IMPLICIT NONE … … 126 127 ! 127 128 IF (nb_ana > jpmax_harmo) THEN 128 IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : nb_ana must be lower than jpmax_harmo, stop'129 IF(lwp) WRITE(numout,*) ' jpmax_harmo= ', jpmax_harmo130 nstop = nstop + 1129 WRITE(ctmp1,*) 'Can not use XIOS in iom_g0d, file: '//TRIM(clname)//', var:'//TRIM(cdvar) 130 WRITE(ctmp2,*) ' jpmax_harmo= ', jpmax_harmo 131 CALL ctl_stop( 'dia_harm_init', ctmp1, ctmp2 ) 131 132 ENDIF 132 133 -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/IOM/iom.F90
r10397 r10417 286 286 !Warn if variable is not in defined in rst_wfields 287 287 IF(.NOT.llis_set) THEN 288 IF(lwp) THEN 289 write(numout,cform_err) 290 write(numout,*) 'iom_set_rstw_var_active: variable ', field ,' is available for writing but not defined' 291 ENDIF 292 nstop = nstop + 1 288 WRITE(ctmp1,*) 'iom_set_rstw_var_active: variable ', field ,' is available for writing but not defined' 289 CALL ctl_stop( 'iom_set_rstw_var_active:', ctmp1 ) 293 290 ENDIF 294 291 #else … … 518 515 519 516 IF( i-1 > max_rst_fields) THEN 520 IF(lwp) write(numout,*) 'E R R O R : iom_set_rst_vars SIZE of RST_FIELD array is too small'521 nstop = nstop + 1517 WRITE(ctmp1,*) 'E R R O R : iom_set_rst_vars SIZE of RST_FIELD array is too small' 518 CALL ctl_stop( 'iom_set_rst_vars:', ctmp1 ) 522 519 ENDIF 523 520 END SUBROUTINE iom_set_rst_vars … … 950 947 CALL iom_swap( TRIM(cxios_context) ) 951 948 #else 952 nstop = nstop + 1953 clinfo = 'Can not use XIOS in iom_g0d, file: '//trim(clname)//', var:'//trim(cdvar)949 WRITE(ctmp1,*) 'Can not use XIOS in iom_g0d, file: '//trim(clname)//', var:'//trim(cdvar) 950 CALL ctl_stop( 'iom_g0d', ctmp1 ) 954 951 #endif 955 952 ENDIF -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LBC/lib_mpp.F90
r10407 r10417 267 267 ! 268 268 ELSEIF ( PRESENT(localComm) .AND. .NOT. mpi_was_called ) THEN 269 WRITE(ldtxt(ii),cform_err) ; ii = ii + 1 269 270 WRITE(ldtxt(ii),*) ' lib_mpp: You cannot provide a local communicator ' ; ii = ii + 1 270 271 WRITE(ldtxt(ii),*) ' without calling MPI_Init before ! ' ; ii = ii + 1 … … 1836 1837 ! 1837 1838 nstop = nstop + 1 1838 IF(lwp) THEN 1839 WRITE(numout,cform_err) 1840 IF( PRESENT(cd1 ) ) WRITE(numout,*) TRIM(cd1) 1841 IF( PRESENT(cd2 ) ) WRITE(numout,*) TRIM(cd2) 1842 IF( PRESENT(cd3 ) ) WRITE(numout,*) TRIM(cd3) 1843 IF( PRESENT(cd4 ) ) WRITE(numout,*) TRIM(cd4) 1844 IF( PRESENT(cd5 ) ) WRITE(numout,*) TRIM(cd5) 1845 IF( PRESENT(cd6 ) ) WRITE(numout,*) TRIM(cd6) 1846 IF( PRESENT(cd7 ) ) WRITE(numout,*) TRIM(cd7) 1847 IF( PRESENT(cd8 ) ) WRITE(numout,*) TRIM(cd8) 1848 IF( PRESENT(cd9 ) ) WRITE(numout,*) TRIM(cd9) 1849 IF( PRESENT(cd10) ) WRITE(numout,*) TRIM(cd10) 1850 ENDIF 1839 1840 ! force to open ocean.output file 1841 IF( numout == 6 ) CALL ctl_opn( numout, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 1842 1843 WRITE(numout,cform_err) 1844 IF( PRESENT(cd1 ) ) WRITE(numout,*) TRIM(cd1) 1845 IF( PRESENT(cd2 ) ) WRITE(numout,*) TRIM(cd2) 1846 IF( PRESENT(cd3 ) ) WRITE(numout,*) TRIM(cd3) 1847 IF( PRESENT(cd4 ) ) WRITE(numout,*) TRIM(cd4) 1848 IF( PRESENT(cd5 ) ) WRITE(numout,*) TRIM(cd5) 1849 IF( PRESENT(cd6 ) ) WRITE(numout,*) TRIM(cd6) 1850 IF( PRESENT(cd7 ) ) WRITE(numout,*) TRIM(cd7) 1851 IF( PRESENT(cd8 ) ) WRITE(numout,*) TRIM(cd8) 1852 IF( PRESENT(cd9 ) ) WRITE(numout,*) TRIM(cd9) 1853 IF( PRESENT(cd10) ) WRITE(numout,*) TRIM(cd10) 1854 1851 1855 CALL FLUSH(numout ) 1852 1856 IF( numstp /= -1 ) CALL FLUSH(numstp ) … … 1855 1859 ! 1856 1860 IF( cd1 == 'STOP' ) THEN 1857 IF(lwp)WRITE(numout,*) 'huge E-R-R-O-R : immediate stop'1861 WRITE(numout,*) 'huge E-R-R-O-R : immediate stop' 1858 1862 CALL mppstop(ld_force_abort = .true.) 1859 1863 ENDIF -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/eosbn2.F90
r10170 r10417 664 664 ! 665 665 CASE DEFAULT 666 IF(lwp) WRITE(numout,cform_err) 667 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 668 nstop = nstop + 1 666 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 667 CALL ctl_stop( 'rab_3d:', ctmp1 ) 669 668 ! 670 669 END SELECT … … 779 778 ! 780 779 CASE DEFAULT 781 IF(lwp) WRITE(numout,cform_err) 782 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 783 nstop = nstop + 1 780 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 781 CALL ctl_stop( 'rab_2d:', ctmp1 ) 784 782 ! 785 783 END SELECT … … 879 877 ! 880 878 CASE DEFAULT 881 IF(lwp) WRITE(numout,cform_err) 882 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 883 nstop = nstop + 1 879 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 880 CALL ctl_stop( 'rab_0d:', ctmp1 ) 884 881 ! 885 882 END SELECT … … 1040 1037 ! 1041 1038 CASE DEFAULT 1042 IF(lwp) WRITE(numout,cform_err) 1043 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 1044 nstop = nstop + 1 1039 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 1040 CALL ctl_stop( 'eos_fzp_2d:', ctmp1 ) 1045 1041 ! 1046 1042 END SELECT … … 1087 1083 ! 1088 1084 CASE DEFAULT 1089 IF(lwp) WRITE(numout,cform_err) 1090 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 1091 nstop = nstop + 1 1085 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 1086 CALL ctl_stop( 'eos_fzp_0d:', ctmp1 ) 1092 1087 ! 1093 1088 END SELECT … … 1213 1208 ! 1214 1209 CASE DEFAULT 1215 IF(lwp) WRITE(numout,cform_err) 1216 IF(lwp) WRITE(numout,*) ' bad flag value for neos = ', neos 1217 nstop = nstop + 1 1210 WRITE(ctmp1,*) ' bad flag value for neos = ', neos 1211 CALL ctl_stop( 'eos_pen:', ctmp1 ) 1218 1212 ! 1219 1213 END SELECT -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/stpctl.F90
r10368 r10417 121 121 ENDIF 122 122 ! 123 IF( l k_mpp .AND. ln_ctl ) THEN123 IF( ln_ctl ) THEN 124 124 CALL mpp_max( "stpctl", zmax ) ! max over the global domain 125 125 nstop = NINT( zmax(7) ) ! nstop indicator sheared among all local domains … … 160 160 is2(:) = MAXLOC( tsn(:,:,:,jp_sal), mask = tmask(:,:,:) == 1._wp ) + (/ nimpp - 1, njmpp - 1, 0 /) 161 161 ENDIF 162 IF( numout == 6 ) & ! force to open ocean.output file 163 CALL ctl_opn( numout, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 164 165 WRITE(numout,cform_err) 166 WRITE(numout,*) ' stp_ctl: |ssh| > 10 m or |U| > 10 m/s or S <= 0 or S >= 100 or NaN encounter in the tests' 167 WRITE(numout,*) ' ======= ' 168 IF( lk_mpp .AND. .NOT. ln_ctl ) WRITE(numout,*) 'E R R O R message from sub-domain: ', narea 169 WRITE(numout,9100) kt, zmax(1), ih(1) , ih(2) 170 WRITE(numout,9200) kt, zmax(2), iu(1) , iu(2) , iu(3) 171 WRITE(numout,9300) kt, - zmax(3), is1(1), is1(2), is1(3) 172 WRITE(numout,9400) kt, zmax(4), is2(1), is2(2), is2(3) 173 WRITE(numout,*) 174 WRITE(numout,*) ' output of last computed fields in output.abort.nc file' 162 163 WRITE(ctmp1,*) ' stp_ctl: |ssh| > 10 m or |U| > 10 m/s or S <= 0 or S >= 100 or NaN encounter in the tests' 164 WRITE(ctmp2,9100) kt, zmax(1), ih(1) , ih(2) 165 WRITE(ctmp3,9200) kt, zmax(2), iu(1) , iu(2) , iu(3) 166 WRITE(ctmp4,9300) kt, - zmax(3), is1(1), is1(2), is1(3) 167 WRITE(ctmp5,9400) kt, zmax(4), is2(1), is2(2), is2(3) 168 WRITE(ctmp6,*) ' ===> output of last computed fields in output.abort.nc file' 175 169 176 170 CALL dia_wri_state( 'output.abort' ) ! create an output.abort file 177 171 178 IF( ln_ctl ) THEN179 kindic = -3180 nstop = nstop + 1 ! increase nstop by 1 (on all local domains)172 IF( .NOT. ln_ctl ) THEN 173 WRITE(ctmp8,*) 'E R R O R message from sub-domain: ', narea 174 CALL ctl_stop( 'STOP', ctmp1, ' ', ctmp8, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ctmp6 ) 181 175 ELSE 182 CALL ctl_stop() 183 CALL mppstop(ld_force_abort = .true.) 176 CALL ctl_stop( ctmp1, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ' ', ctmp6, ' ' ) 184 177 ENDIF 178 179 kindic = -3 185 180 ! 186 181 ENDIF -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trdmxl_trc.F90
r10402 r10417 776 776 777 777 IF( ( lk_trdmxl_trc ) .AND. ( MOD( nitend-nittrc000+1, nn_trd_trc ) /= 0 ) ) THEN 778 WRITE(numout,cform_err) 779 WRITE(numout,*) ' Your nitend parameter, nitend = ', nitend 780 WRITE(numout,*) ' is no multiple of the trends diagnostics frequency ' 781 WRITE(numout,*) ' you defined, nn_trd_trc = ', nn_trd_trc 782 WRITE(numout,*) ' This will not allow you to restart from this simulation. ' 783 WRITE(numout,*) ' You should reconsider this choice. ' 784 WRITE(numout,*) 785 WRITE(numout,*) ' N.B. the nitend parameter is also constrained to be a ' 786 WRITE(numout,*) ' multiple of the sea-ice frequency parameter (typically 5) ' 787 nstop = nstop + 1 778 WRITE(ctmp1,*) ' Your nitend parameter, nitend = ', nitend 779 WRITE(ctmp2,*) ' is no multiple of the trends diagnostics frequency ' 780 WRITE(ctmp3,*) ' you defined, nn_trd_trc = ', nn_trd_trc 781 WRITE(ctmp4,*) ' This will not allow you to restart from this simulation. ' 782 WRITE(ctmp5,*) ' You should reconsider this choice. ' 783 WRITE(ctmp6,*) 784 WRITE(ctmp7,*) ' N.B. the nitend parameter is also constrained to be a ' 785 WRITE(ctmp8,*) ' multiple of the sea-ice frequency parameter (typically 5) ' 786 CALL ctl_stop( ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7, ctmp8 ) 788 787 ENDIF 789 788 … … 795 794 796 795 IF( ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) .AND. .NOT. ln_trdmxl_trc_instant ) THEN 797 WRITE(numout,cform_err) 798 WRITE(numout,*) ' Currently, you can NOT use simultaneously tracer MUSCL ' 799 WRITE(numout,*) ' advection and window averaged diagnostics of ML trends. ' 800 WRITE(numout,*) ' WHY? Everything in trdmxl_trc is coded for leap-frog, and ' 801 WRITE(numout,*) ' MUSCL scheme is Euler forward for passive tracers (note ' 802 WRITE(numout,*) ' that MUSCL is leap-frog for active tracers T/S). ' 803 WRITE(numout,*) ' In particuliar, entrainment trend would be FALSE. However ' 804 WRITE(numout,*) ' this residual is correct for instantaneous ML diagnostics.' 805 WRITE(numout,*) 806 nstop = nstop + 1 796 WRITE(ctmp1,*) ' Currently, you can NOT use simultaneously tracer MUSCL ' 797 WRITE(ctmp2,*) ' advection and window averaged diagnostics of ML trends. ' 798 WRITE(ctmp3,*) ' WHY? Everything in trdmxl_trc is coded for leap-frog, and ' 799 WRITE(ctmp4,*) ' MUSCL scheme is Euler forward for passive tracers (note ' 800 WRITE(ctmp5,*) ' that MUSCL is leap-frog for active tracers T/S). ' 801 WRITE(ctmp6,*) ' In particuliar, entrainment trend would be FALSE. However ' 802 WRITE(ctmp7,*) ' this residual is correct for instantaneous ML diagnostics.' 803 CALL ctl_stop( ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7 ) 807 804 ENDIF 808 805
Note: See TracChangeset
for help on using the changeset viewer.