New telemac3d features for v5p9
links from [[:new_version_features|New version features]]
\\
===== v5p9 TELEMAC-3D =====
Date: 22nd June 2009
The principal features of this version v5p9 are:
* Stage discharge curves in a file
* File for variations in time at sources
* Tidal flats possible with distributive schemes
* New outputs for Delwaq
* Parallelism improved (method of characteristics, etc.)
* Colours of boundary points
* Wave driven currents
===== New options and new or modified keywords =====
== SCHEME FOR ADVECTION OF DEPTH (SCHEMA POUR LA CONVECTION DE LA HAUTEUR) ==
: The value **5** is now mandatory. It corresponds to a mass-conservative scheme without splitting of divergence term to obtain an advection term for depth, as was once done in TELEMAC-2D. Remove this key-word from your parameter files. Values other than **5** will cause TELEMAC to stop.
== THRESHOLD DEPTH FOR WIND (PROFONDEUR LIMITE POUR LE VENT) ==
:Double precision, default value 1.D0 (**HWIND** in Fortran implementation)
:Same as in TELEMAC-2D. On tidal flats or shallow waters the wind stress will give abnormal values of velocities when water depth becomes small. This is prevented by this threshold value for applying the wind stress.
== STAGE-DISCHARGE CURVES (COURBES DE TARAGE) ==
:Integers (1 per liquid boundary), e.g. **STAGE-DISCHARGE CURVES : 0;1;2**
:Default is 0 for all boundaries.
: 0: no stage-discharge curve
: 1: elevation function of discharge
: 2: discharge function of elevation (not implemented)
== STAGE-DISCHARGE CURVES FILE (FICHIER DES COURBES DE TARAGE) ==
: Character string, the default is the empty string ' '
: This file contains the stage-discharge curves, with the following template:
#
# STAGE-DISCHARGE CURVE BOUNDARY 1
#
Q(1) Z(1)
m3/s m
61. 0.
62. 0.1
63. 0.2
#
# COURBE DE TARAGE FRONTIERE 2
#
Z(2) Q(2)
m m3/s
10. 1.
20. 2.
30. 3.
40. 4.
50. 5.
::Order of curves is not important. Order of columns may be swapped like in the example for boundary 2. Lines beginning with **#** are comments. Lines with units are mandatory but units are not checked so far. The number of points given is free and is not necessarily the same for different curves.
:''**Caution**'': at initial conditions the discharge at exits may be nil. The initial elevation must correspond to what is in the stage-discharge curve, otherwise a sudden variation will be imposed. To avoid extreme situations the curve may be limited to a range of discharges. In the example above for boundary 1 discharges below 61 m3/s will all give an elevation of 0 m, discharges above 63 m3/s will give an elevation of 0.2 m.
== SOURCES FILE (FICHIER DES SOURCES) ==
:Character string, the default is the empty string ' '
:This file contains time dependent data, exactly like the **LIQUID BOUNDARIES FILE**, with the following template:
#
# TIME-DEPENDENT DISCHARGES AND TRACERS AT SOURCES 1 AND 2
#
# T IS TIME
#
# Q(1) IS DISCHARGE AT SOURCE 1
# Q(2) IS DISCHARGE AT SOURCE 2
#
# TR(1) IS TRACER 1 AT SOURCE 1
# TR(2) IS TRACER 2 AT SOURCE 1
# TR(3) IS TRACER 1 AT SOURCE 2
# TR(4) IS TRACER 2 AT SOURCE 2
#
# GENERAL FORMULA FOR TRACERS : TR(I) FOR
# I=RANK OF TRACER + NUMBER OF TRACERS * (RANK OF SOURCE - 1)
#
T Q(1) TR(1) TR(2) Q(2) TR(3) TR(4)
s m3/s °C °C m3/s °C °C
0. 0. 99. 20. 0. 30. 40.
2. 1. 50. 20. 2. 30. 20.
4. 2. 25. 80. 4. 30. 20.
== TIDAL FLATS AND DISTRIBUTIVE SCHEMES ==
:Distributive schemes (options 4 and 5 of keywords **SCHEME FOR ADVECTION OF…** (SCHEMA POUR LA CONVECTION DE…)) can now be used if the **OPTION FOR THE TREATMENT OF TIDAL FLATS** (OPTION DE TRAITEMENT DES BANCS DECOUVRANTS) is set to 2 (masking dry elements). However the keyword **MINIMAL VALUE FOR DEPTH** (VALEUR MINIMALE POUR LA HAUTEUR) must be used also and will avoid divisions by zero. This minimal value will be a critical parameter for the number of sub-iterations in the distributive scheme, and may have an influence on the wetting and drying process, so test and report…
== WAVE DRIVEN CURRENTS (COURANTS DE HOULE) ==
:Logical, default value : NO
:The wave driven currents exactly as treated in Telemac-2D. Only the part which is constant on the vertical has been added so far. In a near future the effect of breaking waves will be added.
:This key-word goes with the following.
== RECORD NUMBER IN WAVE FILE (NUMERO D’ENREGISTREMENT DANS LE FICHIER DE HOULE) ==
:Integer, default value : 1
:The wave file is so far:
::**BINARY DATA FILE 1** (FICHIER DE DONNEES BINAIRE 1)
:It is supposed that this file stems from TOMAWAC or ARTEMIS. The name of forcing forces in the file must be : **FORCE FX** and **FORCE FY**. This can be changed in SUBROUTINE **TRISOU**.
== DATA AND RESULTS FILES: ==
::The following keywords have been suppressed :
:BINARY FILE 1 (FICHIER BINAIRE 1)
:BINARY FILE 2 (FICHIER BINAIRE 2)
:FORMATTED FILE 1 (FICHIER FORMATE 1)
:FORMATTED FILE 2 (FICHIER FORMATE 2)
::And replaced by :
:**BINARY DATA FILE 1** (FICHIER DE DONNEES BINAIRE 1)
:**BINARY DATA FILE 2** (FICHIER DE DONNEES BINAIRE 2)
:**FORMATTED DATA FILE 1** (FICHIER DE DONNEES FORMATE 1)
:**FORMATTED DATA FILE 2** (FICHIER DE DONNEES FORMATE 2)
:**BINARY RESULTS FILE** (FICHIER DE RESULTATS BINAIRE)
:**FORMATTED RESULTS FILE** (FICHIER DE RESULTATS FORMATE)
::The logical units for these files are parameterized as :
:BINARY DATA FILE 1 : **NBI1**
:BINARY DATA FILE 2 : **NBI2**
:FORMATTED DATA FILE 1 : **NFO1**
:FORMATTED DATA FILE 2 : **NFO2**
:BINARY RESULTS FILE : **NRBI**
:FORMATTED RESULTS FILE : **NRFO**
:In any subroutine, these logical units may be accessed by adding a line (example of **NBI1**):
USE DECLARATIONS_TELEMAC
:Or, in case of name conflict:
USE DECLARATIONS_TELEMAC, ONLY: NBI1
== NEW OUTPUTS FOR DELWAQ ==
::For further Delwaq use the velocity intensity and the vertical diffusivity can be saved in Delwaq files, with the following keywords:
:**VELOCITY FOR DELWAQ** (VITESSE POUR DELWAQ)
:**VELOCITY DELWAQ FILE** (FICHIER DELWAQ DE LA VITESSE)
:**DIFFUSIVITY FOR DELWAQ** (DIFFUSION POUR DELWAQ)
:**DIFFUSIVITY DELWAQ FILE** (FICHIER DELWAQ DE LA DIFFUSION)
== COLOURS OF BOUNDARY POINTS ==
:The last column in boundary conditions file was so far the boundary points numbering. It may now be changed and any integer number may be given, so that e.g. points are given a colour or a group number. This number may be used to set boundary conditions, especially in parallel where the numbering of points must not be used.
:In SUBROUTINE **BORD.F**, colours are in the **BIEF_OBJ** structure **BOUNDARY_COLOURS**. **BOUNDARY_COLOURS%I(K)** is this number for the local boundary point **K**. If the boundary conditions file is not changed,
**BOUNDARY_COLOURS%I(K)** will be the original number of boundary point **K**, i.e. **K** itself in scalar mode. In 3D it is still meant for 2D boundary points.
===== New user subroutine and modifications in user subroutines =====
== SUBROUTINE CONDIM ==
::**CONDIM**: for initial conditions. Now the only argument **AT** is to be removed. It has been inserted in **DECLARATIONS_TELEMAC3D**
== SUBROUTINE BORD3D ==
::**BORD3D**: **DECLARATIONS_TELEMAC3D** is now used. Arguments **AT** and **INFOGR** must be renamed **TIME** and **ENTET**. The first sequence of instructions with the call to **FRONT2** must be removed. Declarations of **NFRSOL**, **DEBLIQ**, **FINLIQ**, **DEBSOL**, **FINSOL**, **DEJAVU** must be removed.
== FUNCTION STA_DIS_CUR ==
::**STA_DIS_CUR** performs the interpolation in the stage-discharge curves. It may be modified because relaxation is necessary to avoid spurious oscillations due to strong variations of discharge at an exit with a stage-discharge curve, in the first steps of a computation for example. This relaxation may depend on the case.
== FUNCTIONs T3D_DEBSCE and T3D_TRSCE ==
::**T3D_DEBSCE** and **T3D_TRSCE** have been created to take into account the **SOURCES FILE**, they may still be implemented for specific cases.