446 USE output_mod
447 USE file_descriptor_mod
448
449
450
451#include "implicit_f.inc"
452
453
454
455#include "comlock.inc"
456#include "scr20_c.inc"
457#include "com01_c.inc"
458#include "task_c.inc"
459#include "scr06_c.inc"
460#include "scr07_c.inc"
461#include "rad2r_c.inc"
462#include "chara_c.inc"
463#include "userlib.inc"
464
465
466
467 INTEGER N
468
469
470
471 CHARACTER*2048 INAME
472 INTEGER IFIL
473 INTEGER :: LEN_TMP_NAME
474 CHARACTER(len=2148) :: TMP_NAME
475 INTEGER :: IZIP
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496 IF(ispmd == 0 )THEN
498 ENDIF
499
500
501
502 IF (ispmd == 0) THEN
503
504
505 IF (output_ptr%TH%TH_WRITE_TYPE == 3)THEN
506 ifil = fd_bin_th
509 ENDIF
510
511
512 IF (output_ptr%CHECKSUM%CHECKSUM_COUNT >0)THEN
513 izip=0
515 * c_loc(output_ptr%TH%TH_FILENAME),
516 * len_trim(output_ptr%TH%TH_FILENAME),
517 * izip)
518 ENDIF
519 ENDIF
520
521
522
523 IF (ispmd == 0 .AND. nabfile /= 0 .AND.
524 . (abinp /= 0 .AND. about /= 0 ) ) THEN
525#ifdef DNC
526
527 CALL release_abfpipe(abinp,about)
528
529 IF(abfile(1) /= 0) THEN
530 iname=rootnam(1:rootlen)//'_'//chrun//'.tmp'
531 ifil = 11
536 ENDIF
537 IF(abfile(2) /= 0) THEN
538 iname=rootnam(1:rootlen)//'_'//chrun//'_a.tmp'
539 ifil = 12
544 ENDIF
545 IF(abfile(3) /= 0) THEN
546 iname=rootnam(1:rootlen)//'_'//chrun//'_b.tmp'
547 ifil = 13
552 ENDIF
553 IF(abfile(4) /= 0) THEN
554 iname=rootnam(1:rootlen)//'_'//chrun//'_c.tmp'
555 ifil = 14
560 ENDIF
561 IF(abfile(5) /= 0) THEN
562 iname=rootnam(1:rootlen)//'_'//chrun//'_d.tmp'
563 ifil = 15
568 ENDIF
569 IF(abfile(6) /= 0) THEN
570 iname=rootnam(1:rootlen)//'_'//chrun//'_e.tmp'
571 ifil = 16
576 ENDIF
577 IF(abfile(7) /= 0) THEN
578 iname=rootnam(1:rootlen)//'_'//chrun//'_f.tmp'
579 ifil = 17
584 ENDIF
585 IF(abfile(8) /= 0) THEN
586 iname=rootnam(1:rootlen)//'_'//chrun//'_g.tmp'
587 ifil = 18
592 ENDIF
593 IF(abfile(9) /= 0) THEN
594 iname=rootnam(1:rootlen)//'_'//chrun//'_h.tmp'
595 ifil = 19
600 ENDIF
601 IF(abfile(10) /= 0) THEN
602 iname=rootnam(1:rootlen)//'_'//chrun//'_i.tmp'
603 ifil = 20
608 ENDIF
609#endif
610 ENDIF
611
612
613
617 ENDIF
618
619#ifdef DNC
620 IF(mds_avail==1) THEN
623 ENDIF
624#endif
625
626
627
628
630 ClOSE(unit=ifxm)
632 ENDIF
633
635 CLOSE(unit=ifxs
637 ENDIF
638
640 CLOSE(ieigm)
642 ENDIF
643
644
645 IF (ispmd == 0) THEN
647 ENDIF
648
649 SELECT CASE (n)
650 CASE(0)
651 WRITE(istdo,1100)
654 CASE (1)
655 IF (ispmd==0) THEN
656 WRITE(iout,1000)
657 WRITE(istdo,1050)
658
659 WRITE(iout,1200) ncycle
660 WRITE(istdo,1250) ncycle
662
663
664 IF (ihtml == 1)
CALL report(ih3dreader,n,imvw,output_ptr%TH%WFEXT,output_ptr%TH%WFEXT_MD)
666 IF ((irad2r==1).AND.(ispmd==0))
CALL send_ibuf_c(1,1)
667
668 ENDIF
669
670 CLOSE(unit=iout)
671 IF (ispmd==0)THEN
672 IF (output_ptr%CHECKSUM%CHECKSUM_COUNT > 0 ) THEN
673 izip=0
675 * c_loc(output_ptr%OUT_FILENAME),
676 * len_trim(output_ptr%OUT_FILENAME),
677 * izip)
678 ENDIF
679 ENDIF
680
681 IF(ispmd /=0) THEN
683 ENDIF
684
685 CLOSE(unit=iuhis)
686
687 if (ispmd==0)then
688 if (output_ptr%checksum%checksum_count > 0) then
689 CALL checksum_option_checksum_file(output_ptr%checksum,rootnam,rootlen,chrun)
690 end if
691 endif
692
694
695 CASE (2)
696 WRITE(iout,1100)
697 WRITE(istdo,1150)
698
699 IF(ispmd == 0 .AND. iout/= 0) CLOSE(unit=iout)
700
703
704 CASE (20)
705 WRITE(iout,1100)
706 WRITE(istdo,1150)
707
710
711 CASE (3)
712 IF (ispmd==0) THEN
713 WRITE(iout,1000)
714 WRITE(istdo,1050)
715 WRITE(iout,1300)
716 WRITE(istdo,1300)
717
718 WRITE(iout,1200) ncycle
719 WRITE(istdo,1250) ncycle
721
722 IF (ihtml == 1)
CALL report(ih3dreader,n,imvw,output_ptr%TH%WFEXT,output_ptr%TH%WFEXT_MD)
724 ENDIF
725
726 CLOSE(unit=iout)
727 IF(ispmd /=0) THEN
729 ENDIF
730
731 CLOSE(unit=iuhis)
732
734
735 CASE(4)
736 WRITE(istdo,1400)
737 IF (ispmd==0) THEN
738 ENDIF
741 CASE(5)
742 WRITE(istdo,1400)
745 CASE (6)
746 WRITE(iout,1100)
747 WRITE(istdo,1150)
748
749 IF (ispmd==0)THEN
750 ENDIF
752 CASE (7)
754 END SELECT
755
756
757 1000 FORMAT(///' NORMAL TERMINATION ')
758 1050 FORMAT(' NORMAL TERMINATION ')
759 1100 FORMAT(///' ERROR TERMINATION')
760 1400 FORMAT(/' ERROR TERMINATION')
761 1150 FORMAT(' ERROR TERMINATION')
762 1200 FORMAT(///' TOTAL NUMBER OF CYCLES :', i8 / )
763 1250 FORMAT(' TOTAL NUMBER OF CYCLES :', i8)
764 1300 FORMAT(' USER BREAK ')
765
766
void compute_binary_checksum(checksum *cs_output_files, char *file, int len, int izip)
subroutine print_runtime()
type(dyn_lib_type), dimension(:), allocatable dlib_struct
integer, parameter id_engine_user_finalize
character(len=outfile_char_len) outfile_name
subroutine qaclose()
@purpose close QA extract fileCare when routine is called from Fortran (because of binding)
character(len=10192) iusc4_fnam
character(len=10192) ifxm_fn
character(len=10192) ieigm_fn
character(len=10192) ifxs_fn
void send_ibuf_c(int *ibuf, int *len)
subroutine report(ih3dreader, n, imvw, wfext, wfext_md)
subroutine sortie_mvw(imvw, imvw_ref)
subroutine spmd_kill(icode)
void delete_tmpfile(char *name, int *size)