lecdon_sisyphe.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\lecdon_sisyphe.f
00002 !
00318                      SUBROUTINE LECDON_SISYPHE
00319 !                    *************************
00320 !
00321      &(MOTCAR,FILE_DESC,PATH,NCAR,CODE)
00322 !
00323 !***********************************************************************
00324 ! SISYPHE   V6P3                                   12/02/2013
00325 !***********************************************************************
00326 !
00327 !
00328 !
00329 !
00330 !
00331 !
00332 !
00333 !
00334 !
00335 !
00336 !
00337 !
00338 !
00339 !
00340 !
00341 !
00342 !
00343 !
00344 !
00345 !
00346 !
00347 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00348 !| FILE_DESC      |<--| STORES STRINGS 'SUBMIT' OF DICTIONARY
00349 !| MOTCAR         |<--| VALUES OF KEY-WORDS OF TYPE CHARACTER
00350 !| NCAR           |-->| NUMBER OF LETTERS IN STRING PATH
00351 !| PATH           |-->| FULL PATH TO CODE DICTIONARY
00352 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00353 !
00354       USE DECLARATIONS_TELEMAC
00355       USE DECLARATIONS_SISYPHE
00356 !
00357       IMPLICIT NONE
00358       INTEGER LNG,LU
00359       COMMON/INFO/LNG,LU
00360 !
00361 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00362 !
00363       INTEGER, INTENT(IN)               :: NCAR
00364       CHARACTER(LEN=24), INTENT(IN)     :: CODE
00365       CHARACTER(LEN=250), INTENT(IN)    :: PATH
00366 !                                                 NMAX
00367       CHARACTER*144, INTENT(INOUT)      :: MOTCAR(300)
00368 !                                                      NMAX
00369       CHARACTER(LEN=144), INTENT(INOUT) :: FILE_DESC(4,300)
00370 !
00371 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00372 !
00373       INTEGER, PARAMETER :: NMAX = 300
00374 !
00375       INTEGER            :: I,K,ERR
00376       INTEGER            :: MOTINT(NMAX)
00377       INTEGER            :: TROUVE(4,NMAX)
00378       INTEGER            :: ADRESS(4,NMAX)
00379       INTEGER            :: DIMENS(4,NMAX)
00380       DOUBLE PRECISION   :: SUMAVAI
00381       DOUBLE PRECISION   :: MOTREA(NMAX)
00382       LOGICAL            :: DOC,EFFPEN
00383       LOGICAL            :: MOTLOG(NMAX)
00384       CHARACTER(LEN=250) :: NOM_CAS
00385       CHARACTER(LEN=250) :: NOM_DIC
00386       CHARACTER*72       :: MOTCLE(4,NMAX,2)
00387 
00388       CHARACTER(LEN=250) TEMPVAR
00389 !
00390 !-----------------------------------------------------------------------
00391 !
00392 !
00393 !-----------------------------------------------------------------------
00394 !
00395       SUMAVAI = 0
00396 
00397 ! INITIALISES THE VARIABLES FOR DAMOCLES CALL :
00398 !
00399       DO K = 1, NMAX
00400 !       A FILENAME NOT GIVEN BY DAMOCLES WILL BE RECOGNIZED AS A WHITE SPACE
00401 !       (IT MAY BE THAT NOT ALL COMPILERS WILL INITIALISE LIKE THAT)
00402         MOTCAR(K)(1:1)=' '
00403 !
00404         DIMENS(1,K) = 0
00405         DIMENS(2,K) = 0
00406         DIMENS(3,K) = 0
00407         DIMENS(4,K) = 0
00408       ENDDO
00409 !
00410 !     WRITES OUT INFO
00411       DOC = .FALSE.
00412 !
00413 !-----------------------------------------------------------------------
00414 !     OPENS DICTIONNARY AND STEERING FILES
00415 !-----------------------------------------------------------------------
00416 !
00417       IF(NCAR.GT.0) THEN
00418 !
00419         NOM_DIC=PATH(1:NCAR)//'SISDICO'
00420         NOM_CAS=PATH(1:NCAR)//'SISCAS'
00421 !
00422       ELSE
00423 !
00424         NOM_DIC='SISDICO'
00425         NOM_CAS='SISCAS'
00426 !
00427       ENDIF
00428 !
00429       OPEN(2,FILE=NOM_DIC,FORM='FORMATTED',ACTION='READ')
00430       OPEN(3,FILE=NOM_CAS,FORM='FORMATTED',ACTION='READ')
00431 !
00432 !-----------------------------------------------------------------------
00433 !     CALLS DAMOCLES
00434 !-----------------------------------------------------------------------
00435 !
00436       CALL DAMOCLE( ADRESS , DIMENS  , NMAX   , DOC    , LNG , LU  ,
00437      &               MOTINT , MOTREA  , MOTLOG , MOTCAR ,
00438      &               MOTCLE , TROUVE , 2 , 3 ,.FALSE., FILE_DESC )
00439 !
00440 !     DECODES 'SUBMIT' CHAINS
00441 !
00442       CALL READ_SUBMIT(SIS_FILES,MAXLU_SIS,CODE,FILE_DESC,300)
00443 !
00444 !-----------------------------------------------------------------------
00445 !
00446 !     RETRIEVES FILES NUMBERS IN TELEMAC-2D FORTRAN PARAMETERS
00447 !     AT THIS LEVEL LOGICAL UNITS ARE EQUAL TO THE FILE NUMBER
00448 !
00449       DO I=1,MAXLU_SIS
00450         IF(SIS_FILES(I)%TELNAME.EQ.'SISHYD') THEN
00451           SISHYD=I
00452         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISGEO') THEN
00453           SISGEO=I
00454         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISCLI') THEN
00455           SISCLI=I
00456         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISPRE') THEN
00457           SISPRE=I
00458         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISRES') THEN
00459           SISRES=I
00460         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISREF') THEN
00461           SISREF=I
00462         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISCOU') THEN
00463           SISCOU=I
00464         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISFON') THEN
00465           SISFON=I
00466         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISMAF') THEN
00467           SISMAF=I
00468         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISSEC') THEN
00469           SISSEC=I
00470         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISSEO') THEN
00471           SISSEO=I
00472         ELSEIF(SIS_FILES(I)%TELNAME.EQ.'SISLIQ') THEN
00473           SISLIQ=I
00474         ENDIF
00475       ENDDO
00476 !
00477 !-----------------------------------------------------------------------
00478 !
00479 !   ASSIGNS THE STEERING FILE VALUES TO THE PARAMETER FORTRAN NAME
00480 !
00481 !-----------------------------------------------------------------------
00482 !
00483 ! ################# !
00484 ! INTEGER KEYWORDS  !
00485 ! ################# !
00486 ! OPTION OF MATRIX ASSEMBLY IS HARD-CODED
00487 ! ---------------------------------------------
00488 !
00489       OPTASS = 1
00490       PRODUC = 1
00491 
00492       ! DISCRETISES THE VARIABLES
00493       ! ----------------------------
00494       IELMT     = 11 ! SEDIMENTOLOGICAL VARIABLES
00495       IELMH_SIS = 11 ! VARIABLES ASSOCIATED WITH WATER DEPTH
00496       IELMU_SIS = 11 ! VARIABLES ASSOCIATED WITH VELOCITIES
00497 
00498       ! FOR NOW PRINTOUTS START AT ZERO
00499       ! -----------------------------------------------
00500       PTINIG = 0
00501       PTINIL = 0
00502 
00503       ! NON-EQUILIBIRUM BEDLOAD
00504       ! ------------------------
00505       LOADMETH = 0
00506 
00507 !     ICM           = MOTINT( ADRESS(1,  1) )
00508       ICF           = MOTINT( ADRESS(1,  2) )
00509       NPAS          = MOTINT( ADRESS(1,  3) )
00510       NMAREE        = MOTINT( ADRESS(1,  4) )
00511 !     N1            = MOTINT( ADRESS(1,  5) )
00512 
00513       LEOPR         = MOTINT( ADRESS(1,  6) )
00514       LISPR         = MOTINT( ADRESS(1,  7) )
00515 !     STDGEO IS NOT USED, DELETE FROM DECLARATIONS
00516       STDGEO        = MOTINT( ADRESS(1,  8) )
00517 !     LOGDES IS NOT USED, DELETE FROM DECLARATIONS
00518       LOGDES        = MOTINT( ADRESS(1,  9) )
00519 !     LOGPRE IS NOT USED, DELETE FROM DECLARATIONS
00520       LOGPRE        = MOTINT( ADRESS(1, 10) )
00521       OPTBAN        = MOTINT( ADRESS(1, 11) )
00522       LVMAC         = MOTINT( ADRESS(1, 12) )
00523       HYDRO         = MOTINT( ADRESS(1, 13) )
00524       NSOUS         = MOTINT( ADRESS(1, 14) )
00525 !
00526       MARDAT(1)     = MOTINT( ADRESS(1, 15) )
00527       MARDAT(2)     = MOTINT( ADRESS(1, 15) + 1 )
00528       MARDAT(3)     = MOTINT( ADRESS(1, 15) + 2 )
00529       MARTIM(1)     = MOTINT( ADRESS(1, 16) )
00530       MARTIM(2)     = MOTINT( ADRESS(1, 16) + 1 )
00531       MARTIM(3)     = MOTINT( ADRESS(1, 16) + 2 )
00532 !
00533       SLVSED%SLV    = MOTINT( ADRESS(1, 17) )
00534       SLVSED%KRYLOV = MOTINT( ADRESS(1, 18) )
00535       SLVSED%PRECON = MOTINT( ADRESS(1, 19) )
00536       SLVSED%NITMAX = MOTINT( ADRESS(1, 20) )
00537       CHOIX         = MOTINT( ADRESS(1, 21) )
00538       DIRFLU        = MOTINT( ADRESS(1, 22) )
00539       NPRIV         = MOTINT( ADRESS(1, 23) )
00540 !
00541 !     NCSIZE        = MOTINT( ADRESS(1, 24) )
00542 !     NUMBER OF PROCESSORS (ALREADY GIVEN IN INIT_FILES2;
00543 !     MUST BE THE SAME, BUT WHEN USING COUPLED MODELS IT CAN
00544 !     WRONGLY BE DIFFERENT)
00545       IF(NCSIZE.NE.MOTINT(ADRESS(1,24))) THEN
00546         IF(LNG.EQ.1) THEN
00547           WRITE(LU,*) 'NOMBRE DE PROCESSEURS PARALLELES DIFFERENT :'
00548           WRITE(LU,*) 'DEJA DECLARE (CAS DE COUPLAGE ?) :',NCSIZE
00549           WRITE(LU,*) 'SISYPHE :',MOTINT(ADRESS(1,24))
00550           WRITE(LU,*) 'LA VALEUR ',NCSIZE,' EST GARDEE'
00551         ENDIF
00552         IF(LNG.EQ.2) THEN
00553           WRITE(LU,*) 'DIFFERENT NUMBER OF PARALLEL PROCESSORS:'
00554           WRITE(LU,*) 'DECLARED BEFORE (CASE OF COUPLING ?):',NCSIZE
00555           WRITE(LU,*) 'SISYPHE :',MOTINT(ADRESS(1,24))
00556           WRITE(LU,*) 'VALUE ',NCSIZE,' IS KEPT'
00557         ENDIF
00558       ENDIF
00559       RESOL         = MOTINT( ADRESS(1, 25) )
00560       SLVTRA%SLV    = MOTINT( ADRESS(1, 26) )
00561       SLVTRA%KRYLOV = MOTINT( ADRESS(1, 27) )
00562       SLVTRA%PRECON = MOTINT( ADRESS(1, 28) )
00563       SLVTRA%NITMAX = MOTINT( ADRESS(1, 29) )
00564       OPTDIF        = MOTINT( ADRESS(1, 31) )
00565       OPTSUP        = MOTINT( ADRESS(1, 32) )
00566       PRODUC        = MOTINT( ADRESS(1, 33) )
00567       OPTASS        = MOTINT( ADRESS(1, 34) )
00568       OPDTRA        = MOTINT( ADRESS(1, 35) )
00569       DEPER         = MOTINT( ADRESS(1, 36) )
00570       KFROT         = MOTINT( ADRESS(1, 37) )
00571       NCONDIS       = MOTINT( ADRESS(1, 38) )
00572       SLOPEFF       = MOTINT( ADRESS(1, 39) )
00573       DEVIA         = MOTINT( ADRESS(1, 40) )
00574       NOMBLAY       = MOTINT( ADRESS(1,251) )
00575       NSICLA        = MOTINT( ADRESS(1,252) )
00576       HIDFAC        = MOTINT( ADRESS(1,253) )
00577       ICQ           = MOTINT( ADRESS(1, 41) )
00578 !     CONTROL SECTIONS
00579       NCP=DIMENS(1,42)
00580       ALLOCATE(CTRLSC(NCP),STAT=ERR)
00581       IF(ERR.NE.0) THEN
00582         IF(LNG.EQ.1) WRITE(LU,1039) ERR
00583         IF(LNG.EQ.2) WRITE(LU,2039) ERR
00584 1039    FORMAT(1X,'LECDON_SISYPHE :',/,1X,
00585      &            'ERREUR A L''ALLOCATION DE CTRLSC : ',/,1X,
00586      &            'CODE D''ERREUR : ',1I6)
00587 2039    FORMAT(1X,'LECDON_SISYPHE:',/,1X,
00588      &            'ERROR DURING ALLOCATION OF CTRLSC: ',/,1X,
00589      &            'ERROR CODE: ',1I6)
00590       ENDIF
00591       IF(NCP.GE.1) THEN
00592         DO K=1,NCP
00593           CTRLSC(K) = MOTINT( ADRESS(1,42) + K-1 )
00594         ENDDO
00595       ENDIF
00596 !     COORDINATES OF THE ORIGIN
00597       I_ORIG = MOTINT( ADRESS(1,43)   )
00598       J_ORIG = MOTINT( ADRESS(1,43)+1 )
00599       DEBUG  = MOTINT( ADRESS(1,44)   )
00600 !
00601       ICR  =   MOTINT(ADRESS(1,46)   )
00602 !
00603       IKS  =   MOTINT(ADRESS(1,47)   )
00604 !// UHM //
00605       PRO_MAX_MAX =   MAX(NSICLA*4+4,MOTINT(ADRESS(1,49) ))
00606       CVSMPPERIOD =   MOTINT(ADRESS(1,50)   )
00607       IF(CVSMPPERIOD.EQ.0) CVSMPPERIOD = LEOPR
00608       ALT_MODEL   =   MOTINT(ADRESS(1,52)   )
00609       VSMTYPE     =   MOTINT(ADRESS(1,53)   )
00610 !// UHM //
00611 !
00612 !     MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES
00613 !
00614       MAXADV = MOTINT(ADRESS(1,54))
00615 !
00616 !     SCHEME OPTION FOR ADVECTION
00617 !
00618       OPTADV=1
00619       IF(RESOL.EQ.1) THEN
00620 !       CHARACTERISTICS
00621 !       OPTADV=OPTCHA (IN TELEMAC-2D, NOT IN SISYPHE YET)
00622       ELSEIF(RESOL.EQ.2) THEN
00623 !       SUPG
00624         OPTADV=OPTSUP
00625       ELSEIF(RESOL.EQ.5) THEN
00626 !       PSI SCHEME
00627 !       OPTADV_VI=OPTPSI (IN TELEMAC-2D, NOT IN SISYPHE YET)
00628       ENDIF
00629 !     SCHEME OPTION FOR ADVECTION HAS PRIORITY WHEN PRESENT
00630       IF(TROUVE(1,55).EQ.2) THEN
00631         OPTADV = MOTINT(ADRESS(1,55))
00632       ENDIF
00633 !
00634 !
00635 ! ############### !
00636 ! REAL KEYWORDS   !
00637 ! ############### !
00638 !
00639       ! NON-EQUILIBRIRUM BEDLOAD
00640       ! ------------------------
00641       LS0         = 1.D0
00642 !
00643       RC          = MOTREA( ADRESS(2,  1) )
00644       XMVE        = MOTREA( ADRESS(2,  2) )
00645       XMVS        = MOTREA( ADRESS(2,  3) )
00646       DO K=1,NSICLA
00647         FDM(K)   = MOTREA( ADRESS(2,  4) + K-1 )
00648       ENDDO
00649 !     IF OLD NAME OF KEYWORD 28 HAS BEEN FOUND
00650       IF(TROUVE(2,28).EQ.2) THEN
00651         DO K=1,NSICLA
00652           FDM(K) = MOTREA( ADRESS(2,28) + K-1 )
00653         ENDDO
00654       ENDIF
00655       XKV         = MOTREA( ADRESS(2,  5) )
00656 !     SHIELDS NUMBERS
00657       DO K=1,DIMENS(2,6)
00658         AC(K)   = MOTREA( ADRESS(2, 6) + K-1 )
00659       ENDDO
00660 !     IF ALL SHIELDS NUMBERS ARE NOT GIVEN, THE LATEST
00661 !     ONE IS TAKEN FOR THE FOLLOWING
00662 !     FOR EXAMPLE IF ONLY ONE IS GIVEN, ALL WILL HAVE
00663 !     THE SAME VALUE
00664       IF(DIMENS(2,6).LT.NSICLA) THEN
00665         DO K=DIMENS(2,6)+1,NSICLA
00666           AC(K) = MOTREA( ADRESS(2, 6)+DIMENS(2,6)-1 )
00667         ENDDO
00668       ENDIF
00669       SFON        = MOTREA( ADRESS(2,  7) )
00670       GRAV        = MOTREA( ADRESS(2,  8) )
00671       ZERO        = MOTREA( ADRESS(2,  9) )
00672       SLVSED%ZERO = ZERO
00673       VCE         = MOTREA( ADRESS(2, 10) )
00674       HMIN        = MOTREA( ADRESS(2, 11) )
00675       DELT        = MOTREA( ADRESS(2, 12) )
00676       TPREC       = MOTREA( ADRESS(2, 13) )
00677       PMAREE      = MOTREA( ADRESS(2, 14) )
00678       TETA        = MOTREA( ADRESS(2, 15) )
00679       BETA        = MOTREA( ADRESS(2, 16) )
00680       SLVSED%EPS  = MOTREA( ADRESS(2, 17) )
00681       TETA_SUSP   = MOTREA( ADRESS(2, 18) )
00682       XKX         = MOTREA( ADRESS(2, 19) )
00683       XKY         = MOTREA( ADRESS(2, 20) )
00684       SLVTRA%EPS  = MOTREA( ADRESS(2, 21) )
00685 !     SETTLING VELOCITIES (SAME TREATMENT THAN SHIELDS NUMBERS)
00686       DO K=1,DIMENS(2,22)
00687         XWC(K)   = MOTREA( ADRESS(2, 22) + K-1 )
00688       ENDDO
00689       IF(DIMENS(2,22).LT.NSICLA) THEN
00690         DO K=DIMENS(2,22)+1,NSICLA
00691           XWC(K) = MOTREA( ADRESS(2, 22)+DIMENS(2,22)-1 )
00692         ENDDO
00693       ENDIF
00694       CRIT_CFD    = MOTREA( ADRESS(2, 23) )
00695       KSPRATIO    = MOTREA( ADRESS(2, 24) )
00696       PHISED      = MOTREA( ADRESS(2, 25) )
00697       BETA2       = MOTREA( ADRESS(2, 26) )
00698       BIJK        = MOTREA( ADRESS(2, 27) )
00699 !
00700 !     INITIAL CONCENTRATIONS
00701 !     ++++++++++++++++++++++
00702 !
00703       DO K=1,NSICLA
00704         CS0(K)=MOTREA( ADRESS(2,30) + K-1 )
00705       ENDDO
00706       DO K=1,10*MAXFRO
00707         CBOR_CLASSE(K)=0.D0
00708       ENDDO
00709       IF(DIMENS(2,31).GT.0) THEN
00710         DO K=1,DIMENS(2,31)
00711           CBOR_CLASSE(K)=MOTREA( ADRESS(2,31) + K-1 )
00712         ENDDO
00713       ENDIF
00714 !
00715 !     COHESIVE SEDIMENT
00716 !     +++++++++++++++++
00717 !
00718       NCOUCH_TASS = MOTINT( ADRESS(1,45)   )
00719 !
00720       IF(DIMENS(2,32).GT.0) THEN
00721         DO K=1,DIMENS(2,32)
00722           CONC_VASE(K)=MOTREA( ADRESS(2,32) + K-1 )
00723         ENDDO
00724       ENDIF
00725 !
00726 !     OBSOLETE KEY WORD : CSF_VASE = MOTREA( ADRESS(2, 29) )
00727 !
00728 !      CSF_VASE = CONC_VASE(1)/XMVS
00729 !
00730       IF(DIMENS(2,34).GT.0) THEN
00731         DO K=1,DIMENS(2,34)
00732           TOCE_VASE(K)=MOTREA( ADRESS(2,34) + K-1 )
00733         ENDDO
00734       ENDIF
00735 !
00736 !     KRONE AND PARTHENIADES EROSION AND DEPOSITION LAW
00737 !
00738 !     OBSOLETE KEY WORD : VITCE= MOTREA( ADRESS(2,35))
00739 !
00740       VITCE = SQRT(TOCE_VASE(1)/XMVE)
00741       VITCD= MOTREA( ADRESS(2,36))
00742 !     PARTHENIADES WITH CONVERSION TO M/S
00743       PARTHENIADES = MOTREA( ADRESS(2,37))/XMVS
00744 !
00745 !     CONSOLIDATION MODEL
00746 !
00747       TASS = MOTLOG(ADRESS(3,23))
00748       ITASS  =   MOTINT(ADRESS(1,48)   )
00749 !
00750 !     MULTILAYER MODEL (WALTHER, 2008)
00751 !     ITASS = 1
00752       IF(DIMENS(2,33).GT.0) THEN
00753         DO K=1,DIMENS(2,33)
00754           TRANS_MASS(K)=MOTREA( ADRESS(2,33) + K-1 )
00755         ENDDO
00756       ENDIF
00757 !
00758 ! V6P1
00759 ! THIEBOT MULTI LAYER MODEL
00760 ! ITASS=2
00761 !
00762       CONC_GEL=MOTREA( ADRESS(2,38))
00763       COEF_N= MOTREA( ADRESS(2,39))
00764       CONC_MAX=MOTREA( ADRESS(2,50))
00765 !
00766 !     PRESCRIBED SOLID DISCHARGES
00767 !
00768       NSOLDIS=DIMENS(2,51)
00769       IF(NSOLDIS.GT.0) THEN
00770         DO K=1,NSOLDIS
00771           SOLDIS(K)=MOTREA(ADRESS(2,51)+K-1)
00772         ENDDO
00773       ENDIF
00774 !
00775 !     HIDING EXPOSURE MULTI GRAIN MODEL
00776 !
00777       DO K=1,NSICLA
00778         HIDI(K)  = MOTREA( ADRESS(2,253) + K-1 )
00779         IF (TROUVE(2,255).EQ.1) THEN
00780           FD90(K)= FDM(K)
00781         ELSE
00782           FD90(K)= MOTREA( ADRESS(2,255) + K-1 )
00783         ENDIF
00784         AVA0(K)  = MOTREA( ADRESS(2,258) + K-1 )
00785       ENDDO
00786       ELAY0       = MOTREA( ADRESS(2,259) )
00787 !
00788 ! UM: MPM-Factor
00789       MPM         = MOTREA( ADRESS(2,260) )
00790 ! UM: ALPHA-Factor
00791       ALPHA       = MOTREA( ADRESS(2,261) )
00792 ! UM: MOFAC-Factor
00793       MOFAC       = MOTREA( ADRESS(2,262) )
00794 
00795       ! ################## !
00796       ! LOGICAL KEYWORDS !
00797       ! ################## !
00798 ! INDEX 99 IS ALREADY USED FOR KEYWORD 'LIST OF FILES'
00799 ! INDEX 54 IS ALREADY USED FOR KEYWORD 'DESCRIPTION OF LIBRARIES'
00800 ! INDEX 57 IS ALREADY USED FOR KEYWORD 'DEFAULT EXECUTABLE'
00801       ! SPHERICAL EQUATIONS HARD-CODED
00802       ! ----------------------------------
00803       SPHERI       = .FALSE.
00804 
00805 
00806       ! COMPUTATION OF FALL VELOCITIES
00807       ! ------------------------------------------
00808       CALWC = .FALSE.
00809       ! IF TROUVE: VELOCITIES ARE USER-DEFINED
00810       ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00811       IF (TROUVE(2, 22).EQ.2) CALWC = .TRUE.
00812 ! CV
00813       ! SHIELDS PARAMETER
00814       ! ------------------------------------------
00815       CALAC = .FALSE.
00816       ! IF TROUVE
00817       ! ~~~~~~~~~~~~~
00818       IF (TROUVE(2, 6).EQ.2) CALAC = .TRUE.
00819 
00820 
00821       BILMA        = MOTLOG( ADRESS(3,  1) )
00822       PERMA        = MOTLOG( ADRESS(3,  2) )
00823       BANDEC       = MOTLOG( ADRESS(3,  3) )
00824       VALID        = MOTLOG( ADRESS(3,  4) )
00825 !     DTVAR        = MOTLOG( ADRESS(3,  5) )
00826       LUMPI        = MOTLOG( ADRESS(3,  6) )
00827       SUSP         = MOTLOG( ADRESS(3,  7) )
00828       CHARR        = MOTLOG( ADRESS(3,  8) )
00829       HOULE        = MOTLOG( ADRESS(3, 10) )
00830       CONST_ALAYER = MOTLOG( ADRESS(3, 11) )
00831       LCONDIS      = MOTLOG( ADRESS(3, 12) )
00832       LGRAFED      = MOTLOG( ADRESS(3, 13) )
00833 !     USED TO CHECK SIS_FILES(SISPRE)%NAME
00834       DEBU         = MOTLOG( ADRESS(3, 14) )
00835       IMP_INFLOW_C = MOTLOG( ADRESS(3, 15) )
00836       SECCURRENT   = MOTLOG( ADRESS(3, 16) )
00837       IF(CODE(1:9).EQ.'TELEMAC3D') SECCURRENT = .FALSE.
00838       UNIT         = MOTLOG( ADRESS(3, 17) )
00839       VF           = MOTLOG( ADRESS(3,253) )
00840       CORR_CONV    = MOTLOG( ADRESS(3, 18) )
00841       DO K=1,NSICLA
00842         SEDCO(K)   = .FALSE.
00843       ENDDO
00844       IF(DIMENS(3,19).GT.0) THEN
00845         DO K=1,DIMENS(3,19)
00846           SEDCO(K) = MOTLOG( ADRESS(3,19) + K-1 )
00847         ENDDO
00848       ENDIF
00849       SLIDE    = MOTLOG( ADRESS(3, 20) )
00850       DIFT     = MOTLOG( ADRESS(3, 21) )
00851       EFFPEN   = MOTLOG( ADRESS(3, 22) )
00852       IF(.NOT.EFFPEN) THEN
00853         SLOPEFF=0
00854         DEVIA=0
00855       ENDIF
00856 !
00857       MIXTE=MOTLOG(ADRESS(3,24))
00858 !     COUPLING WITH DREDGESIM
00859       DREDGESIM=MOTLOG(ADRESS(3,25))
00860 !     V6P1
00861       KSPRED   =MOTLOG(ADRESS(3,26))
00862 !
00863 ! MAK
00864 !     Settling lag: determines choice between Rouse and Miles concentration profile
00865 !     SET_LAG = TRUE : Miles
00866 !             = FALSE: Rouse
00867 !
00868       SET_LAG  = MOTLOG(ADRESS(3,27) )
00869 !     STATIONARY MODE: calculate sediment transport without updating the bed.
00870       STAT_MODE  = MOTLOG(ADRESS(3,28) )
00871 !
00872 !
00873 ! ################################### !
00874 ! CHARACTER STRING KEYWORDS           !
00875 ! ################################### !
00876 !
00877       TITCA            = MOTCAR( ADRESS(4, 1) )(1:72)
00878       SORTIS           = MOTCAR( ADRESS(4, 2) )(1:72)
00879       VARIM            = MOTCAR( ADRESS(4, 3) )(1:72)
00880       SIS_FILES(SISGEO)%NAME=MOTCAR( ADRESS(4,6) )
00881       SIS_FILES(SISCLI)%NAME=MOTCAR( ADRESS(4,9) )
00882       SIS_FILES(SISHYD)%NAME=MOTCAR( ADRESS(4,29) )
00883       SIS_FILES(SISPRE)%NAME=MOTCAR( ADRESS(4,11) )
00884       SIS_FILES(SISRES)%NAME=MOTCAR( ADRESS(4,12) )
00885       SIS_FILES(SISFON)%NAME=MOTCAR( ADRESS(4,16) )
00886       SIS_FILES(SISRES)%FMT = MOTCAR( ADRESS(4,31) )(1:8)
00887       CALL MAJUS(SIS_FILES(SISRES)%FMT)
00888 !     RESULT FILE FORMAT FOR PREVIOUS SEDIMENTOLOGICAL
00889 !     COMPUTATION...
00890       SIS_FILES(SISPRE)%FMT = MOTCAR( ADRESS(4,34) )(1:8)
00891       CALL MAJUS(SIS_FILES(SISPRE)%FMT)
00892 !     REFERENCE FILE FORMAT
00893       SIS_FILES(SISREF)%FMT = MOTCAR( ADRESS(4,33) )(1:8)
00894       CALL MAJUS(SIS_FILES(22)%FMT)
00895 !     HYDRODYNAMIC FILE FORMAT
00896       SIS_FILES(SISHYD)%FMT = MOTCAR( ADRESS(4,32) )(1:8)
00897       CALL MAJUS(SIS_FILES(SISHYD)%FMT)
00898 !     WAVE FILE FORMAT (COUPLING WITH TOMAWAC)
00899       SIS_FILES(SISCOU)%FMT = MOTCAR( ADRESS(4,35) )(1:8)
00900       CALL MAJUS(SIS_FILES(SISCOU)%FMT)
00901       BINGEOSIS        = MOTCAR( ADRESS(4,18) )(1:3)
00902       BINHYDSIS        = MOTCAR( ADRESS(4,19) )(1:3)
00903       BINPRESIS        = MOTCAR( ADRESS(4,20) )(1:3)
00904       BINRESSIS        = MOTCAR( ADRESS(4,21) )(1:3)
00905       SIS_FILES(SISREF)%NAME=MOTCAR( ADRESS(4,22) )
00906       BINREFSIS        = MOTCAR( ADRESS(4,23) )(1:3)
00907 !     DREDGESIM STEERING FILE
00908       SIS_FILES(SISMAF)%NAME = MOTCAR( ADRESS(4,27) )
00909 !     ******           = MOTCAR( ADRESS(4,28) )
00910 !     WAVE FILE
00911       SIS_FILES(SISCOU)%NAME=MOTCAR( ADRESS(4,30) )
00912 !     SECTIONS
00913       SIS_FILES(SISSEC)%NAME=MOTCAR( ADRESS(4,36) )
00914       SIS_FILES(SISSEO)%NAME=MOTCAR( ADRESS(4,37) )
00915 !     FILE FOR LIQUID BOUNDARIES
00916       SIS_FILES(SISLIQ)%NAME=MOTCAR( ADRESS(4,38) )
00917 ! PAT 090812
00918 !     GEOMETRY FILE FORMAT
00919       SIS_FILES(SISGEO)%FMT = MOTCAR( ADRESS(4,39) )(1:8)
00920       CALL MAJUS(SIS_FILES(SISGEO)%FMT)
00921 
00922       !UHM FOR CVSP, But its not Beautiful
00923       TEMPVAR  =   MOTCAR(ADRESS(4,51)   )
00924       CALL LECDON_SPLIT_OUTPUTPOINTS(TEMPVAR,CVSMOUTPUT,CVSM_OUT_FULL)
00925       !UHM
00926 
00927       IF(LNG.EQ.1) WRITE(LU,101)
00928       IF(LNG.EQ.2) WRITE(LU,102)
00929 101   FORMAT(1X,/,19X, '********************************************',/,
00930      &            19X, '*               LECDON:                    *',/,
00931      &            19X, '*        APRES APPEL DE DAMOCLES           *',/,
00932      &            19X, '*     VERIFICATION DES DONNEES LUES        *',/,
00933      &            19X, '*     SUR LE FICHIER DES PARAMETRES        *',/,
00934      &            19X, '********************************************',/)
00935 102   FORMAT(1X,/,19X, '********************************************',/,
00936      &            19X, '*               LECDON:                    *',/,
00937      &            19X, '*        AFTER CALLING DAMOCLES            *',/,
00938      &            19X, '*        CHECKING OF DATA  READ            *',/,
00939      &            19X, '*         IN THE STEERING FILE             *',/,
00940      &            19X, '********************************************',/)
00941 !
00942 !-----------------------------------------------------------------------
00943 !
00944 ! LOGICALS FOR OUTPUT VARIABLES
00945 !-----------------------------------------------------------------------
00946 !
00947       NOMBLAY=MAX(NOMBLAY,NCOUCH_TASS)
00948       NCOUCH_TASS=NOMBLAY
00949 !
00950       CALL NOMVAR_SISYPHE(TEXTE,TEXTPR,MNEMO,NSICLA,UNIT,MAXVAR,
00951      &                    NPRIV,NOMBLAY)
00952       CALL SORTIE(SORTIS , MNEMO , MAXVAR , SORLEO )
00953       CALL SORTIE(VARIM  , MNEMO , MAXVAR , SORIMP )
00954 !
00955       DO I = 1, 4
00956         IF ((NPRIV.LT.I).AND.
00957             ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00958      &      (SORLEO(I+28+(NOMBLAY+4)*NSICLA+NOMBLAY).OR.
00959      &       SORIMP(I+28+(NOMBLAY+4)*NSICLA+NOMBLAY))) THEN
00960           NPRIV=MAX(NPRIV,I)
00961         ENDIF
00962       ENDDO
00963 !
00964 !-----------------------------------------------------------------------
00965 !
00966 !     CANCELS OUTPUT OF VARIABLES WHICH ARE NOT BUILT IN THIS CASE
00967 !
00968       IF(.NOT.SUSP) THEN
00969 !V 7/09/2006 MIGHT WANT TO OUTPUT THE SUSPENDED COMPONENT IN BIJKER
00970 !        SORIMP(24+4*NSICLA)=.FALSE.
00971 !        SORIMP(25+4*NSICLA)=.FALSE.
00972 !        SORIMP(26+4*NSICLA)=.FALSE.
00973       ENDIF
00974 !
00975 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00976       IF(.NOT.CHARR) THEN
00977         SORLEO(23+(NOMBLAY+2)*NSICLA)=.FALSE.
00978         SORLEO(24+(NOMBLAY+2)*NSICLA)=.FALSE.
00979         SORLEO(25+(NOMBLAY+2)*NSICLA)=.FALSE.
00980         SORIMP(23+(NOMBLAY+2)*NSICLA)=.FALSE.
00981         SORIMP(24+(NOMBLAY+2)*NSICLA)=.FALSE.
00982         SORIMP(25+(NOMBLAY+2)*NSICLA)=.FALSE.
00983       ENDIF
00984 ! JWI END
00985 !
00986 !-----------------------------------------------------------------------
00987 !
00988 ! CHECKS TETA VALUE
00989 !
00990       IF( TETA.LT.0.D0.OR.TETA.GT.1.D0) THEN
00991           IF (LNG.EQ.1) WRITE(LU,50)
00992           IF (LNG.EQ.2) WRITE(LU,51)
00993 50      FORMAT(/,1X,'VALEUR DE TETA INCORRECTE !            ',/
00994      &          ,1X,'TETA DOIT ETRE COMPRIS ENTRE 0 ET 1    ')
00995 51      FORMAT(/,1X,'BAD VALUE FOR TETA !                   ',/
00996      &          ,1X,'TETA MUST BE WITHIN 0 AND 1            ')
00997         CALL PLANTE(1)
00998         STOP
00999       ENDIF
01000 !
01001 !     INITIALISES MSK (MASKING VARIABLE)
01002 !     FOR NOW MASKING IS ONLY DONE FOR ONE 'OPTION FOR THE TREATMENT
01003 !     OF TIDAL FLATS'. SHOULD BE OFFERED AS AN OPTION FOR THE USER TO
01004 !     CREATE ISLANDS IN THE FUTURE
01005       MSK = .FALSE.
01006       IF (.NOT.BANDEC) OPTBAN=0
01007       IF (OPTBAN.EQ.2) MSK = .TRUE.
01008 !
01009 !-----------------------------------------------------------------------
01010 !
01011 !     CHECKS WHETHER THERE IS A VALIDATION FILE
01012 !
01013       IF (VALID.AND.SIS_FILES(SISREF)%NAME.EQ.' ') THEN
01014           VALID=.FALSE.
01015         IF (LNG.EQ.1) WRITE(LU,70)
01016         IF (LNG.EQ.2) WRITE(LU,71)
01017         WRITE(LU,*)
01018 70      FORMAT(/,1X,'VALIDATION IMPOSSIBLE  :      ',/
01019      &          ,1X,'PAS DE FICHIER DE VALIDATION !        ')
01020 71      FORMAT(/,1X,'VALIDATION IS NOT POSSIBLE :  ',/
01021      &          ,1X,'NO VALIDATION FILE  !                 ')
01022       ENDIF
01023 !
01024 !MGDL
01025 !     CHECKS THE NUMBER OF NSICLA
01026 !      IF(NSICLA.GT.10) THEN
01027       IF(NSICLA.GT.NSICLM) THEN
01028       IF (LNG.EQ.1) WRITE(LU,80) NSICLM
01029         IF (LNG.EQ.2) WRITE(LU,81) NSICLM
01030         WRITE(LU,*)
01031 80      FORMAT(/,1X,'LE NOMBRE MAXIMUM DE CLASSES DE SEDIMENTS EST 10'
01032      &         , I2)
01033 81      FORMAT(/,1X,'THE MAXIMUM NUMBER OF SEDIMENT CLASSES IS', I2)
01034         CALL PLANTE(1)
01035         STOP
01036       ENDIF
01037 !     CHECKS THE SUM OF INITIAL AVAI
01038       DO I=1,NSICLA
01039       SUMAVAI = SUMAVAI + AVA0(I)
01040       ENDDO
01041       IF(ABS(SUMAVAI-1).GE.1.D-8) THEN
01042       IF (LNG.EQ.1) WRITE(LU,90)
01043         IF (LNG.EQ.2) WRITE(LU,91)
01044         WRITE(LU,*)
01045 90      FORMAT(/,1X,'LA SOMME DES FRACTIONS DE SEDIMENTS ',/
01046      &          ,1X,'EST DIFFERENTE DE 1 !        ')
01047 91      FORMAT(/,1X,'SUM OF SEDIMENT FRACTIONS IS NOT 1  ')
01048         CALL PLANTE(1)
01049         STOP
01050       ENDIF
01051 !
01052 !     WARNING FOR THE CHOICE OF RIGID BED METHOD
01053 !
01054       IF(CHOIX.GT.0.AND.CHOIX.LT.4.AND.VF) THEN
01055       IF(LNG.EQ.1) WRITE(LU,200)
01056         IF (LNG.EQ.2) WRITE(LU,201)
01057         WRITE(LU,*)
01058 200     FORMAT(/,1X,'CALCUL EN VOLUMES FINIS : ',/
01059      &          ,1X,
01060 'LA METHODE 4 POUR LES FONDS NON ERODABLES SERA UTIL     &ISEE ')
01061 201     FORMAT(/,1X,'FINITE VOLUMES CHOSEN: ',/
01062      &          ,1X,'METHOD 4 FOR RIGID BED WILL BE USED ')
01063 !       ADDED BY JMH 12/07/2007
01064         CHOIX=4
01065       ENDIF
01066       IF (CHOIX.EQ.4.AND..NOT.VF) THEN
01067         IF(LNG.EQ.1) WRITE(LU,300)
01068         IF(LNG.EQ.2) WRITE(LU,301)
01069         WRITE(LU,*)
01070 300     FORMAT(/,1X,'CALCUL EN ELEMENTS FINIS : ',/
01071      &          ,1X,
01072 'LA METHODE 4 NE PEUT ETRE UTILISEE, METHODE 3 UTILI     &SEE A LA PLACE')
01073 301     FORMAT(/,1X,'FINITE ELEMENTS CHOSEN: ',/
01074      &          ,1X,
01075 'METHOD 4 FOR RIGID BED CAN NOT BE USED, METHOD 3 US     &ED INSTEAD')
01076 !       ADDED BY JMH 12/07/2007
01077         CHOIX=3
01078       ENDIF
01079 !
01080 !     CHECKS THAT THE BEDLOAD TRANSPORT FORMULATION AND THE HIDING
01081 !     FACTOR FORMULATION CAN GO TOGETHER
01082 !
01083       IF ((HIDFAC.EQ.3.AND.ICF.NE.6).OR.
01084      &    (HIDFAC.EQ.1.AND.ICF.NE.1).OR.
01085      &    (HIDFAC.EQ.2.AND.ICF.NE.1)) THEN
01086       IF (LNG.EQ.1) WRITE(LU,110)
01087         IF (LNG.EQ.2) WRITE(LU,111)
01088         WRITE(LU,*)
01089 110     FORMAT(/,1X,
01090 'MAUVAIS ASSOCIATION ENTRE LA FORMULE DE TRANSPORT E     &T LE HIDING FACTOR ')
01091 111     FORMAT(/,1X,
01092 'CHOICE OF TRANSPORT FORMULA AND HIDING FACTOR FORMU     &LATION NOT ALLOWED ')
01093         CALL PLANTE(1)
01094         STOP
01095       ENDIF
01096 !
01097 !     WITHOUT AND WITH COUPLING, SOME CORRECTIONS
01098 !
01099       IF(CODE(1:7).EQ.'TELEMAC'.AND.
01100      &   SIS_FILES(SISHYD)%NAME(1:1).NE.' ') THEN
01101         SIS_FILES(SISHYD)%NAME(1:1)=' '
01102         IF(LNG.EQ.1) WRITE(LU,112)
01103 112     FORMAT(/,1X,'COUPLAGE : FICHIER HYDRODYNAMIQUE IGNORE')
01104         IF(LNG.EQ.1) WRITE(LU,113)
01105 113     FORMAT(/,1X,'COUPLING: HYDRODYNAMIC FILE IGNORED')
01106       ENDIF
01107 !
01108 !     COMPUTATION CONTINUED
01109 !
01110       IF(DEBU) THEN
01111         IF(SIS_FILES(SISPRE)%NAME(1:1).EQ.' ') THEN
01112           IF(LNG.EQ.1) WRITE(LU,312)
01113 312       FORMAT(/,1X,'SUITE DE CALCUL :',/,
01114      &    1X,'FICHIER PRECEDENT SEDIMENTOLOGIQUE ABSENT')
01115           IF(LNG.EQ.2) WRITE(LU,313)
01116 313       FORMAT(/,1X,'COMPUTATION CONTINUED:',/,
01117      &             1X,'PREVIOUS SEDIMENTOLOGICAL FILE MISSING')
01118           CALL PLANTE(1)
01119           STOP
01120         ENDIF
01121       ELSE
01122         IF(SIS_FILES(SISPRE)%NAME(1:1).NE.' ') THEN
01123           SIS_FILES(SISPRE)%NAME(1:1)=' '
01124           IF(LNG.EQ.1) WRITE(LU,212)
01125 212       FORMAT(/,1X,'PAS DE SUITE DE CALCUL :',/,
01126      &             1X,'FICHIER PRECEDENT SEDIMENTOLOGIQUE IGNORE')
01127           IF(LNG.EQ.2) WRITE(LU,213)
01128 213       FORMAT(/,1X,'NO COMPUTATION CONTINUED:',/,
01129      &             1X,'PREVIOUS SEDIMENTOLOGICAL FILE IGNORED')
01130         ENDIF
01131       ENDIF
01132 !
01133 ! METHODS NOT CODED UP FOR SUSPENSION
01134 ! -------------------------------------------
01135 !
01136 !     JMH ON 09/10/2009 : NEW PARAMETERISATION AND NEW SCHEMES
01137 !
01138       IF(SUSP) THEN
01139         IF(RESOL.NE.ADV_CAR   .AND.RESOL.NE.ADV_SUP   .AND.
01140      &     RESOL.NE.ADV_PSI_NC.AND.RESOL.NE.ADV_NSC_NC.AND.
01141      &     RESOL.NE.ADV_LPO   .AND.RESOL.NE.ADV_NSC   .AND.
01142      &     RESOL.NE.ADV_PSI   .AND.RESOL.NE.ADV_LPO_TF.AND.
01143      &     RESOL.NE.ADV_NSC_TF                              ) THEN
01144           IF (LNG.EQ.1) WRITE(LU,302) RESOL
01145           IF (LNG.EQ.2) WRITE(LU,303) RESOL
01146 302       FORMAT(1X,'METHODE DE RESOLUTION NON PROGRAMMEE : ',1I6)
01147 303       FORMAT(1X,'RESOLVING METHOD NOT IMPLEMENTED : ',1I6)
01148           IF(RESOL.EQ.8) THEN
01149             IF(LNG.EQ.1) WRITE(LU,*)
01150      &                'LE SCHEMA 8 AVANT VERSION 6.0 EST DEVENU LE 4'
01151             IF(LNG.EQ.2) WRITE(LU,*)
01152      &                'NUMBER 8 PRIOR TO VERSION 6.0 IS NOW NUMBER 4'
01153           ENDIF
01154           CALL PLANTE(1)
01155           STOP
01156         ENDIF
01157       ENDIF
01158 !C
01159 ! CV 27/01/2005
01160 !
01161       IF(.NOT.HOULE) SIS_FILES(SISCOU)%NAME(1:1)=' '
01162       IF(HOULE) THEN
01163         IF(ICF.NE.4.AND.ICF.NE.5.AND.ICF.NE.8.AND.ICF.NE.9) THEN
01164           IF(LNG.EQ.1) WRITE(LU,1303) ICF
01165           IF(LNG.EQ.2) WRITE(LU,1304) ICF
01166 1303      FORMAT(' LA FORMULE DE TRANSPORT',1I3,1X,
01167      &       'NE PREND PAS EN COMPTE LA HOULE,',/,1X,
01168      &       'ESSAYER 4, 5, 8 OU 9')
01169 1304      FORMAT(' TRANSPORT FORMULA',1I3,1X,
01170      &       'DOES NOT TAKE WAVES INTO ACCOUNT,',/,1X,
01171      &       'TRY 4, 5, 8 OR 9')
01172           CALL PLANTE(1)
01173           STOP
01174         ENDIF
01175       ENDIF
01176 !
01177 ! BEDLOAD AND SUSPENDED TRANSPORT COUPLING
01178 ! ---------------------------------
01179 !
01180       IF((ICF==30.OR.ICF==3.OR.ICF==9).AND.SUSP.AND.CHARR) THEN
01181         IF(LNG.EQ.1) WRITE(LU,1301) ICF
01182         IF(LNG.EQ.2) WRITE(LU,1302) ICF
01183         CALL PLANTE(1)
01184         STOP
01185       ENDIF
01186 1301  FORMAT('POUR LA FORMULE :',1I3,/,1X,
01187      &       'LE TERME DE TRANSPORT EN SUSPENSION EST CALCULE'
01188      &      ,' LORS DU CHARRIAGE ET LORS DE LA SUSPENSION')
01189 1302  FORMAT('FOR THE FORMULA',1I3,/,1X,
01190      &       'THE SUSPENSION TERM IS CALCULATED TWICE,'
01191      &      ,' WITH TOTAL LOAD FORMULA AND SUSPENSION ')
01192 !
01193 ! REFERENCE CONCENTRATION
01194 !
01195 ! MODIFICATION CV 31/12      IF(ICQ.EQ.2.AND.(PERCOU.NE.1.OR..NOT.CHARR)) THEN
01196 !
01197       IF(ICQ.EQ.2.AND.(PERCOU.GT.1.OR..NOT.CHARR)) THEN
01198         IF(LNG == 1) WRITE(LU,1401) ICQ
01199         IF(LNG == 2) WRITE(LU,1402) ICQ
01200 1401  FORMAT('POUR LA METHODE DE BIJKER: ICQ=',1I3,/,1X,
01201      &       
01202 'LE CHARRIAGE DOIT ETRE CALCULE A CHAQUE PAS DE TEMPS     &       , CHOISIR  : PERCOU = 1 ET',/,1X,
01203      &       'CHARRIAGE=OUI')
01204 1402  FORMAT('FOR THE BIJKER REFERENCE CONCENTRATION',1I3,/,1X,
01205      &       'BEDLOAD MUST BE COMPUTED, CHOOSE:',/,1X,
01206      &       'BEDLOAD = YES')
01207         CALL PLANTE(1)
01208         STOP
01209       ENDIF
01210 !
01211 !     CHECKS CONSISTENCY OF BEDLOAD LAWS
01212 !
01213 !     SOULSBY SLOPE EFFECT : REQUIRES A THRESHOLD FORMULA
01214 !
01215       IF(SLOPEFF.EQ.2) THEN
01216 !       CHECK FOR ICF=6
01217 !       IF(ICF.NE.1.AND.ICF.NE.6) THEN
01218         IF(ICF.NE.1) THEN
01219         IF(LNG == 1) WRITE(LU,1403) ICF
01220         IF(LNG == 2) WRITE(LU,1404) ICF
01221 1403    FORMAT('LA LOI DE TRANSPORT SOLIDE, ICI ICF=',1I3,/,1X,
01222      &         'DOIT ETRE UNE FORMULE A SEUIL',/,1X,
01223      &         'SI FORMULE POUR EFFET DE PENTE=2 (SOULSBY)')
01224 1404    FORMAT('BED-LOAD TRANSPORT FORMULA, HERE ICF=',1I3,/,1X,
01225      &         'MUST HAVE A THRESHOLD',/,1X,
01226      &         'IF FORMULA FOR SLOPE EFFECT=2 (SOULSBY)')
01227         ENDIF
01228       ENDIF
01229 !
01230 ! V6P0 : COHERENCE IF CONSOLIDATION MODEL IS USED
01231 ! VITCE AND CSF_VASE STEM FROM THE FIRST LAYER OF THE MULTI-LAYER MODEL
01232 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
01233 ! Mots clés supprimés vitesse critique d'erosion et concentration du lit
01234 ! CV : si première couche est  vide cela n'est pas correct
01235 
01236 !
01237       IF(MIXTE) THEN
01238 !
01239 !       FILLS VOIDS WITH MUD:
01240 ! CV: vérifier que la concentration en cohésif est non nulle
01241 !
01242         CSF_SABLE= 1.D0
01243 !V: verrouiller les options
01244         NSICLA=2
01245         SEDCO(1)=.FALSE.
01246         SEDCO(2)=.TRUE.
01247         CHARR=.FALSE.
01248         SUSP=.TRUE.
01249 !V
01250       ELSE
01251         CSF_SABLE= (1.D0-XKV)
01252       ENDIF
01253 !
01254       IF((.NOT.MIXTE).AND.SEDCO(1)) THEN
01255         CHARR=.FALSE.
01256         !SUSP=.TRUE. (In general, but not necessary)
01257       ENDIF
01258 !
01259       IF(NOMBLAY.GT.NLAYMAX) THEN
01260         WRITE (LU,*) 'NUMBER OF BED LOAD MODEL LAYERS LARGER THAN '
01261         WRITE (LU,*) 'THE MAXIMUM PROGRAMMED VALUE OF ', NLAYMAX
01262         CALL PLANTE(1)
01263         STOP
01264       ENDIF
01265 !      IF(NOMBLAY.LT.2) THEN
01266 !        WRITE (LU,*) 'BEWARE: NUMBER OF BED LOAD MODEL LAYERS'
01267 !        WRITE (LU,*) '======= LOWER THAN THE DEFAULT VALUE OF 2'
01268 !      ENDIF
01269 !
01270 !----------------------------------------------------------------
01271 !
01272 !  V6P1: FOR THE BED FRICTION PREDICTOR USE LAW OF FRICTION 5 (NIKURADSE)
01273 !
01274       IF(KSPRED) KFROT=5
01275 !
01276 !----------------------------------------------------------------
01277 !
01278       RETURN
01279       END

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