447 USE output_mod
448 USE file_descriptor_mod
449
450
451
452#include "implicit_f.inc"
453
454
455
456#include "comlock.inc"
457#include "scr20_c.inc"
458#include "com01_c.inc"
459#include "task_c.inc"
460#include "scr06_c.inc"
461#include "scr07_c.inc"
462#include "rad2r_c.inc"
463#include "chara_c.inc"
464#include "userlib.inc"
465
466
467
468 INTEGER N
469
470
471
472 CHARACTER*2048 INAME
473 INTEGER IFIL
474 INTEGER :: LEN_TMP_NAME
475 CHARACTER(len=2148) :: TMP_NAME
476 INTEGER :: IZIP
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497 IF(ispmd == 0 )THEN
499 ENDIF
500
501
502
503 IF (ispmd == 0) THEN
504
505
506 IF (output_ptr%TH%TH_WRITE_TYPE == 3)THEN
507 ifil = fd_bin_th
510 ENDIF
511
512
513 IF (output_ptr%CHECKSUM%CHECKSUM_COUNT >0)THEN
514 izip=0
516 * c_loc(output_ptr%TH%TH_FILENAME),
517 * len_trim(output_ptr%TH%TH_FILENAME),
518 * izip)
519 ENDIF
520 ENDIF
521
522
523
524 IF (ispmd == 0 .AND. nabfile /= 0 .AND.
525 . (abinp /= 0 .AND. about /= 0 ) ) THEN
526#ifdef DNC
527
528 CALL release_abfpipe(abinp,about)
529
530 IF(abfile(1) /= 0) THEN
531 iname=rootnam(1:rootlen)//'_'//chrun//'.tmp'
532 ifil = 11
537 ENDIF
538 IF(abfile(2) /= 0) THEN
539 iname=rootnam(1:rootlen)//'_'//chrun//'_a.tmp'
540 ifil = 12
545 ENDIF
546 IF(abfile(3) /= 0) THEN
547 iname=rootnam(1:rootlen)//'_'//chrun//'_b.tmp'
548 ifil = 13
553 ENDIF
554 IF(abfile(4) /= 0) THEN
555 iname=rootnam(1:rootlen)//'_'//chrun//'_c.tmp'
556 ifil = 14
561 ENDIF
562 IF(abfile(5) /= 0) THEN
563 iname=rootnam(1:rootlen)//'_'//chrun//'_d.tmp'
564 ifil = 15
569 ENDIF
570 IF(abfile(6) /= 0) THEN
571 iname=rootnam(1:rootlen)//'_'//chrun//'_e.tmp'
572 ifil = 16
577 ENDIF
578 IF(abfile(7) /= 0) THEN
579 iname=rootnam(1:rootlen)//'_'//chrun//'_f.tmp'
580 ifil = 17
585 ENDIF
586 IF(abfile(8) /= 0) THEN
587 iname=rootnam(1:rootlen)//'_'//chrun//'_g.tmp'
588 ifil = 18
593 ENDIF
594 IF(abfile(9) /= 0) THEN
595 iname=rootnam(1:rootlen)//'_'//chrun//'_h.tmp'
596 ifil = 19
601 ENDIF
602 IF(abfile(10) /= 0) THEN
603 iname=rootnam(1:rootlen)//'_'//chrun//'_i.tmp'
604 ifil = 20
609 ENDIF
610#endif
611 ENDIF
612
613
614
618 ENDIF
619
620#ifdef DNC
621 IF(mds_avail==1) THEN
624 ENDIF
625#endif
626
627
628
629
631 ClOSE(unit=ifxm)
633 ENDIF
634
636 CLOSE(unit=ifxs)
638 ENDIF
639
641 CLOSE(ieigm)
643 ENDIF
644
645
646 IF (ispmd == 0) THEN
648 ENDIF
649
650 SELECT CASE (n)
651 CASE(0)
652 WRITE(istdo,1100)
655 CASE (1)
656 IF (ispmd==0) THEN
657 WRITE(iout,1000)
658 WRITE(istdo,1050)
659
660 WRITE(iout,1200) ncycle
661 WRITE(istdo,1250) ncycle
663
664
665 IF (ihtml == 1)
CALL report(ih3dreader,n,imvw,output_ptr%TH%WFEXT,output_ptr%TH%WFEXT_MD, output_ptr)
667 IF ((irad2r==1).AND.(ispmd==0))
CALL send_ibuf_c(1,1)
668
669 ENDIF
670
671 CLOSE(unit=iout)
672 IF (ispmd==0)THEN
673 IF (output_ptr%CHECKSUM%CHECKSUM_COUNT > 0 ) THEN
674 izip=0
676 * c_loc(output_ptr%OUT_FILENAME
677 * len_trim(output_ptr%OUT_FILENAME),
678 * izip)
679 ENDIF
680 ENDIF
681
682 IF(ispmd /=0) THEN
684 ENDIF
685
686 CLOSE(unit=iuhis)
687
688 if (ispmd==0)then
689 if (output_ptr%checksum%checksum_count > 0) then
690 CALL checksum_option_checksum_file(output_ptr%checksum
691 end if
692 endif
693
695
696 CASE (2)
697 WRITE(iout,1100)
698 WRITE(istdo,1150)
699
700 IF(ispmd == 0 .AND. iout/= 0) CLOSE(unit=iout)
701
704
705 CASE (20)
706 WRITE(iout,1100)
707 WRITE(istdo,1150)
708
711
712 CASE (3)
713 IF (ispmd==0) THEN
714 WRITE(iout,1000)
715 WRITE(istdo,1050)
716 WRITE(iout,1300)
717 WRITE(istdo,1300)
718
719 WRITE(iout,1200) ncycle
720 WRITE(istdo,1250) ncycle
722
723 IF (ihtml == 1)
CALL report(ih3dreader,n,imvw,output_ptr%TH%WFEXT,output_ptr%TH%WFEXT_MD, output_ptr)
725 ENDIF
726
727 CLOSE(unit=iout)
728 IF(ispmd /=0) THEN
730 ENDIF
731
732 CLOSE(unit=iuhis)
733
735
736 CASE(4)
737 WRITE(istdo,1400)
738 IF (ispmd==0) THEN
739 ENDIF
742 CASE(5)
743 WRITE(istdo,1400)
746 CASE (6)
747 WRITE
748 WRITE(istdo,1150)
749
750 IF (ispmd==0)THEN
751 ENDIF
753 CASE (7)
755 END SELECT
756
757
758 1000 FORMAT(///' NORMAL TERMINATION ')
759 1050 FORMAT(' NORMAL TERMINATION ')
760 1100 FORMAT(///' ERROR TERMINATION')
761 1400 FORMAT(/' ERROR TERMINATION')
762 1150 FORMAT(' ERROR TERMINATION')
763 1200 FORMAT(///' TOTAL NUMBER OF CYCLES :', i8 / )
764 1250 FORMAT(' TOTAL NUMBER OF CYCLES :', i8)
765 1300 FORMAT(' USER BREAK ')
766
767
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, output)
subroutine sortie_mvw(imvw, imvw_ref)
subroutine spmd_kill(icode)
void delete_tmpfile(char *name, int *size)