bief_desimp.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\bief_desimp.f
00002 !
00056                      SUBROUTINE BIEF_DESIMP
00057 !                    **********************
00058 !
00059      &(FORMAT_RES,VARSOR,HIST,NHIST,N,NRES,STD,AT,LT,LISPRD,LEOPRD,
00060      & SORLEO,SORIMP,MAXVAR,TEXTE,PTINIG,PTINIL)
00061 !
00062 !***********************************************************************
00063 ! BIEF   V6P1                                   21/08/2010
00064 !***********************************************************************
00065 !
00066 !
00067 !
00068 !
00069 !
00070 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00071 !| FORMAT_RES     |-->| FORMAT OF RESULT FILE
00072 !| HIST           |-->| A SEQUENCE OF NHIST VALUES BEGINNING BY TIME
00073 !| LEOPRD         |-->| GRAPHIC PRINTOUT PERIOD
00074 !| LISPRD         |-->| LISTING PRINTOUT PERIOD
00075 !| MAXVAR         |-->| MAXIMUM OF VARIABLES IN THE FILE
00076 !| N              |-->| NUMBER OF POINTS IN THE MESH
00077 !| NHIST          |-->| NUMBER OF VALUES IN HIST (OBSOLETE)
00078 !| NRES           |-->| LOGICAL UNIT OF THE RESULTS FILE
00079 !| PTINIG         |-->| NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS
00080 !| PTINIL         |-->| NUMBER OF FIRST TIME STEP FOR LISTING PRINTOUTS
00081 !| SORIMP         |-->| ARRAY OF LOGICAL SAYING IF VARIABLES MUST BE PUT
00082 !|                |   | IN THE LISTING
00083 !| SORLEO         |-->| ARRAY OF LOGICAL SAYING IF VARIABLES MUST BE PUT
00084 !|                |   | IN THE RESULTS FILE
00085 !| STD            |-->| BINARY OF RESULTS FILE (IBM,I3E,STD)
00086 !| TEXTE          |-->| NAMES AND UNITS OF VARIABLES
00087 !| VARSOR         |-->| BLOCK WITH VARIABLES TO BE PRINTED OR COPIED
00088 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00089 !
00090       USE BIEF
00091 !
00092       IMPLICIT NONE
00093       INTEGER LNG,LU
00094       COMMON/INFO/LNG,LU
00095 !
00096 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00097 !
00098       TYPE(BIEF_OBJ)   , INTENT(IN) :: VARSOR
00099       CHARACTER(LEN=8) , INTENT(IN) :: FORMAT_RES
00100       INTEGER          , INTENT(IN) :: NRES,LT,LISPRD,LEOPRD
00101       INTEGER          , INTENT(IN) :: NHIST,PTINIG,PTINIL,N
00102       INTEGER          , INTENT(IN) :: MAXVAR
00103       DOUBLE PRECISION , INTENT(IN) :: AT,HIST(NHIST)
00104       CHARACTER(LEN=32), INTENT(IN) :: TEXTE(*)
00105       CHARACTER(LEN=3) , INTENT(IN) :: STD
00106       LOGICAL          , INTENT(IN) :: SORLEO(MAXVAR),SORIMP(MAXVAR)
00107 !
00108 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00109 !
00110       INTEGER LTT,K
00111 !
00112       LOGICAL LEO,IMP
00113 !
00114 !-----------------------------------------------------------------------
00115 !
00116 ! LOGICAL THAT DEFINE THE OUTPUTS
00117 !
00118       IMP=.FALSE.
00119       LEO=.FALSE.
00120       LTT=(LT/LISPRD)*LISPRD
00121       IF(LT.EQ.LTT.AND.LT.GE.PTINIL) IMP=.TRUE.
00122       LTT=(LT/LEOPRD)*LEOPRD
00123       IF(LT.EQ.LTT.AND.LT.GE.PTINIG) LEO=.TRUE.
00124 !
00125 !-----------------------------------------------------------------------
00126 !
00127       IF(LEO) THEN
00128         CALL WRITE_DATA(FORMAT_RES,       ! RESULT FILE FORMAT ID
00129      &                  NRES,             ! LU RESULT FILE
00130      &                  MAXVAR,           ! MAX NB OF VARIABLES IN VARSOR
00131      &                  AT,               ! TIME
00132      &                  LT,               ! TIMESTEP
00133      &                  SORLEO(1:MAXVAR), ! OUTPUT OR NOT
00134      &                  TEXTE(1:MAXVAR),  ! TIMESTEP
00135      &                  VARSOR,           ! COLLECTION OF VECTORS
00136      &                  N)                ! NUMBER OF VALUES
00137       ENDIF
00138 !
00139 ! TO LISTING FILE
00140 !
00141       IF(IMP) THEN
00142         DO K=1,MAXVAR
00143           IF(SORIMP(K)) THEN
00144             IF(ASSOCIATED(VARSOR%ADR(K)%P%R)) THEN
00145               CALL IMPVEC(VARSOR%ADR(K)%P%R,TEXTE(K),N)
00146             ELSE
00147               IF(LNG.EQ.1) THEN
00148                 WRITE(LU,*) 'DESIMP: VARIABLE NUMERO: ',K
00149                 WRITE(LU,*) '        PAS OU MAL ALLOUEE'
00150                 WRITE(LU,*) '        OU POINTEUR NON ASSOCIE'
00151               ENDIF
00152               IF(LNG.EQ.2) THEN
00153                 WRITE(LU,*) 'DESIMP: VARIABLE NUMBER: ',K
00154                 WRITE(LU,*) '        NOT OR NOT WELL ALLOCATED'
00155                 WRITE(LU,*) '        OR POINTER NOT ASSOCIATED '
00156               ENDIF
00157 !             CALL PLANTE(1)
00158 !             STOP
00159             ENDIF
00160           ENDIF
00161         ENDDO
00162       ENDIF
00163 !
00164 !=======================================================================
00165 !
00166       RETURN
00167       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0