--- Welcome to the official ADCIRCWiki site! The site is currently under construction, with limited information. ---

For general information, see the ADCIRC site, ADCIRC FAQ, or the ADCIRC Wikipedia page. For model documentation not yet available on the wiki, see the ADCIRC site. New content is being continuously added to the ADCIRCWiki, and material from the main ADCIRC site will be gradually transitioned over to the wiki.

TAU0: Difference between revisions

From ADCIRCWiki
Jump to navigation Jump to search
(Beginning rewrite and improvement)
(still going)
Line 2: Line 2:


== fort.15 TAU0 Values ==
== fort.15 TAU0 Values ==
Because the TAU0 value specified in the fort.15 file can be either a flag (indicating how ADCIRC should operate) or the actual value used in solving the GWCE, it is important to distinguish between the two. All negative values of TAU0 are flags, all positive values are not. The following is a list of possible TAU0 values in the fort.15 file and their meaning.  
Because the TAU0 value specified in the fort.15 file can be either a flag (indicating how ADCIRC should operate) or the actual <math>\tau_0</math> value used in solving the GWCE, it is important to distinguish between the two. All negative values of TAU0 are flags, all positive values are <math>\tau_0</math>. The following table is a summary of possible TAU0 values and their meaning. Note that for TAU0 = -x.1 where x is an integer, behavior is the same as -x, but the <math>\tau_0</math> values are written to the [[fort.90 file]]. More on this below in [[TAU0#Outputting|Outputting]].  


{| class="wikitable"
{| class="wikitable"
Line 14: Line 14:
! style="font-weight:bold;" | -7
! style="font-weight:bold;" | -7
|-
|-
| style="font-weight:bold;" | Varies in space
! style="font-weight:bold;" | Varies in space
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#ffce93;" | yes
| style="background-color:#ffce93;" | yes
Line 23: Line 23:
| style="background-color:#ffce93;" | yes
| style="background-color:#ffce93;" | yes
|-
|-
| style="font-weight:bold;" | Varies in time
! style="font-weight:bold;" | Varies in time
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
Line 32: Line 32:
| style="background-color:#ffce93;" | yes
| style="background-color:#ffce93;" | yes
|-
|-
| style="font-weight:bold;" | Space-averaged
! style="font-weight:bold;" | Space-averaged
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
Line 41: Line 41:
| style="background-color:#ffce93;" | yes
| style="background-color:#ffce93;" | yes
|-
|-
| style="font-weight:bold;" | Time-averaged
! style="font-weight:bold;" | Time-averaged
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
Line 50: Line 50:
| style="background-color:#ffce93;" | yes
| style="background-color:#ffce93;" | yes
|-
|-
| style="font-weight:bold;" | Requires nodal attribute
! style="font-weight:bold;" | Requires nodal attribute
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
Line 59: Line 59:
| style="background-color:#fffc9e;" | no
| style="background-color:#fffc9e;" | no
|-
|-
| style="font-weight:bold;" | Minimum
! style="font-weight:bold;" | Minimum
| N/A
| N/A
| 0.002
| 0.002
Line 68: Line 68:
| N/A
| N/A
|-
|-
| style="font-weight:bold;" | Maximum
! style="font-weight:bold;" | Maximum
| N/A
| N/A
| 0.005
| 0.005
Line 79: Line 79:
! colspan="8" style="text-align: center; font-weight:bold;" | Code Flags
! colspan="8" style="text-align: center; font-weight:bold;" | Code Flags
|-
|-
| style="font-weight:bold;" | HighResTimeVaryingTau0
! style="font-weight:bold;" | HighResTimeVaryingTau0
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
Line 88: Line 88:
| style="background-color:#ffce93;" | .TRUE.
| style="background-color:#ffce93;" | .TRUE.
|-
|-
| style="font-weight:bold;" | FullDomainTimeVaryingTau0
! style="font-weight:bold;" | FullDomainTimeVaryingTau0
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
Line 97: Line 97:
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
|-
|-
| style="font-weight:bold;" | TimeAveragedTau0
! style="font-weight:bold;" | TimeAveragedTau0
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
Line 106: Line 106:
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
|-
|-
| style="font-weight:bold;" | BackLoadedTimeAveragedTau0
! style="font-weight:bold;" | BackLoadedTimeAveragedTau0
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
| style="background-color:#fffc9e;" | .FALSE.
Line 123: Line 123:


'''Negative Values'''<br/>
'''Negative Values'''<br/>
Note that for TAU0 = -x.1 where x is an integer, behavior is the same as -x, but the TAU0 values are written to the [[fort.90 file]]. More on this below in [[TAU0#Outputting|Outputting]]. <br/>
''Spatially varying, temporally constant''
''Spatially varying, temporally constant''
*= -1, TAU0 is spatially varying but constant in time; it is calculated according to depth as follows:  
*= -1, <math>\tau_0</math> is spatially varying but constant in time; it is calculated according to depth as follows:  
**If the depth is >=10, TAU0 is set to 0.005
**If the depth is >=10, <math>\tau_0</math> = 0.005
**If the depth is < 10, TAU0 is set to 0.020
**If the depth is < 10, <math>\tau_0</math> = 0.020
*= -2, TAU0 is spatially varying but constant in time; it is calculated according to depth as follows:  
*= -2, TAU0 is spatially varying but constant in time; it is calculated according to depth as follows:  
**If the depth is >=200 TAU0 is set to 0.005
**If the depth is >=200 <math>\tau_0</math>=0.005
**If the depth is < 200 but > 1, then TAU0 is set to 1/depth
**If the depth is < 200 but > 1, <math>\tau_0</math>=1/depth
**If depth < 1, TAU0 is set to 1.0
**If depth < 1, <math>\tau_0</math>=1.0


''Spatially and temporally varying''<br/>
''Spatially and temporally varying''<br/>
*= -3, TAU0 varies in space and time. TAU0 is computed from TAU0Base (read in from the nodal attribute file) as follows:  
*= -3, <math>\tau_0</math> varies in space and time. <math>\tau_0</math> is computed from TAU0Base (read in from the nodal attribute file) as follows:  
**If TAU0Base < 0.025; TAU0 = TAU0Base (constant in time)
**If TAU0Base < 0.025; <math>\tau_0</math> = TAU0Base (constant in time)
**If TAU0Base >= 0.025; TAU0 = TAU0Base + 1.5 TK(i) where TK(i)=Cd|U|/H
**If TAU0Base >= 0.025; <math>\tau_0</math> = TAU0Base + 1.5 TK(i) where TK(i)=Cd|U|/H
*= -5, FullDomainTimeVaryingTau0 is set to .True. and TAU0 is dependent on the local friction as follows:
*= -5, FullDomainTimeVaryingTau0 is set to .True. and <math>\tau_0</math> is dependent on the local friction as follows:
**TAU0=Tau0Min+1.5*TK(i)
**<math>\tau_0</math>=Tau0Min+1.5*TK(i)
**It is limited to a range specified by [[Tau0FullDomainMin]] and [[Tau0FullDomainMax]], which are specified on the following line of the fort.15 file when TAU0 is -5
**It is limited to a range specified by [[Tau0FullDomainMin]] and [[Tau0FullDomainMax]], which are specified on the following line of the fort.15 file when TAU0 is -5


== Outputting ==
=== Spatial and Temporal Updating ===
For TAU0 formulations that vary spatially or temporally, ADCIRC can write the nodal TAU0 values that it calculates internally. These values are written to the [[fort.90 file]], which has the same format and output frequency as the water surface elevation output file ([[fort.63]]). fort.90 output is activated by placing a 1 in the tenths place of the TAU0 input value in the fort.15 file. For example, if TAU0=-3.1, the calculation of TAU0 is still carried out according to the description of TAU0=-3 above, and the fort.90 output file will also be produced.
For <code>TAU0=-3, -5, -6, or -7</code>, <math>\tau_0</math> is updated in space and in time.  


== Selecting TAU0 ==
== Outputting <math>\tau_0</math> ==
For positive values, a good rule of thumb for setting TAU0 is to set it equal to the largest value of an equivalent linear friction factor (e.g, for linear friction TAU0 = [[TAU]]; for quadratic friction TAU0 = maximum (speed*[[CF]]/depth). Typical values for TAU0 are in the range of 0.005 – 0.1.
For TAU0 formulations that vary spatially or temporally, ADCIRC can output the internally-calculated nodal <math>\tau_0</math> values. They are written to the [[fort.90 file]], which has the same format and output frequency as the water surface elevation output file ([[fort.63]]). fort.90 output is activated by placing a 1 in the tenths place of TAU0 in the fort.15 file. For example, if TAU0=-3.1, the calculation of <math>\tau_0</math> is still carried out according to the description of TAU0=-3 above, and the fort.90 output file will also be produced.  


If TAU0 = -3 in the fort.15 file, then the TAU0Base nodal attribute values can be generated with the ADCIRC utility program tau0_gen.f. The program bases generation on the following logic:
== Selecting <math>\tau_0</math> ==
For positive values (TAU0=<math>\tau_0</math>), a good rule of thumb for setting TAU0 is to set it equal to the largest value of an equivalent linear friction factor (e.g, for linear friction TAU0 = [[TAU]]; for quadratic friction TAU0 = maximum (speed*[[CF]]/depth). Typical values for TAU0 are in the range of 0.005 – 0.1.
 
TAU0 = -3, paired with the [[primitive weighting in continuity equation]] nodal attribute is generally the most popular formulation. In this case, TAU0Base nodal attribute values can be generated with the ADCIRC utility program tau0_gen.f. The program bases generation on the following logic:
*If the avg. distance between a node and its neighbors < 1750 m TAU0Base = 0.03
*If the avg. distance between a node and its neighbors < 1750 m TAU0Base = 0.03
*If the avg. distance between a node and its neighbors > 1750 m AND depth < 10m; TAU0Base = 0.02  (TAU0 is constant in time)
*If the avg. distance between a node and its neighbors > 1750 m AND depth < 10m; TAU0Base = 0.02  (TAU0 is constant in time)
*If the avg. distance between a node and its neighbors > 1750 m AND depth > 10m; TAU0Base = 0.005 (TAU0 is constant in time)
*If the avg. distance between a node and its neighbors > 1750 m AND depth > 10m; TAU0Base = 0.005 (TAU0 is constant in time)

Revision as of 17:47, 18 February 2019

TAU0 is an input in the fort.15 file that influences the degree of numerical diffusion in ADCIRC's governing equations. Specifically, it influences the weighting factor that determines the relative contribution of the primitive and wave portions of the the Generalized Wave-Continuity Equation (GWCE). The weighting factor, , is affected by values in both the fort.15 file and the fort.13 file, if the primitive weighting in continuity equation or min and max primitive weighting in continuity equation nodal attributes are specified. This page addresses both the TAU0 value in the fort.15 file and the parameter more generally.

fort.15 TAU0 Values

Because the TAU0 value specified in the fort.15 file can be either a flag (indicating how ADCIRC should operate) or the actual value used in solving the GWCE, it is important to distinguish between the two. All negative values of TAU0 are flags, all positive values are . The following table is a summary of possible TAU0 values and their meaning. Note that for TAU0 = -x.1 where x is an integer, behavior is the same as -x, but the values are written to the fort.90 file. More on this below in Outputting.

fort.15 TAU0 >=0 -1 -2 -3 -5 -6 -7
Varies in space no yes yes yes yes yes yes
Varies in time no no no yes yes yes yes
Space-averaged no no no yes yes yes yes
Time-averaged no no no no no yes yes
Requires nodal attribute no no no yes no yes no
Minimum N/A 0.002 0.002 N/A Tau0FullDomainMin N/A N/A
Maximum N/A 0.005 1 0.2 Tau0FullDomainMax 0.2 0.2
Code Flags
HighResTimeVaryingTau0 .FALSE. .FALSE. .FALSE. .TRUE. .FALSE. .TRUE. .TRUE.
FullDomainTimeVaryingTau0 .FALSE. .FALSE. .FALSE. .FALSE. .TRUE. .FALSE. .FALSE.
TimeAveragedTau0 .FALSE. .FALSE. .FALSE. .FALSE. .FALSE. .TRUE. .FALSE.
BackLoadedTimeAveragedTau0 .FALSE. .FALSE. .FALSE. .FALSE. .FALSE. .FALSE. .TRUE.

Positive values
For all positive values, the value specified in the fort.15 file is spatially and temporally constant and applied directly:

  • = 0, the GWCE is a pure wave equation
  • = 1, the GWCE behaves like a pure primitive continuity equation
  • 0 < TAU0 < 1, the GWCE is a weighted sum of the primitive and wave portions of the equation

Negative Values
Spatially varying, temporally constant

  • = -1, is spatially varying but constant in time; it is calculated according to depth as follows:
    • If the depth is >=10, = 0.005
    • If the depth is < 10, = 0.020
  • = -2, TAU0 is spatially varying but constant in time; it is calculated according to depth as follows:
    • If the depth is >=200 =0.005
    • If the depth is < 200 but > 1, =1/depth
    • If depth < 1, =1.0

Spatially and temporally varying

  • = -3, varies in space and time. is computed from TAU0Base (read in from the nodal attribute file) as follows:
    • If TAU0Base < 0.025; = TAU0Base (constant in time)
    • If TAU0Base >= 0.025; = TAU0Base + 1.5 TK(i) where TK(i)=Cd|U|/H
  • = -5, FullDomainTimeVaryingTau0 is set to .True. and is dependent on the local friction as follows:
    • =Tau0Min+1.5*TK(i)
    • It is limited to a range specified by Tau0FullDomainMin and Tau0FullDomainMax, which are specified on the following line of the fort.15 file when TAU0 is -5

Spatial and Temporal Updating

For TAU0=-3, -5, -6, or -7, is updated in space and in time.

Outputting

For TAU0 formulations that vary spatially or temporally, ADCIRC can output the internally-calculated nodal values. They are written to the fort.90 file, which has the same format and output frequency as the water surface elevation output file (fort.63). fort.90 output is activated by placing a 1 in the tenths place of TAU0 in the fort.15 file. For example, if TAU0=-3.1, the calculation of is still carried out according to the description of TAU0=-3 above, and the fort.90 output file will also be produced.

Selecting

For positive values (TAU0=), a good rule of thumb for setting TAU0 is to set it equal to the largest value of an equivalent linear friction factor (e.g, for linear friction TAU0 = TAU; for quadratic friction TAU0 = maximum (speed*CF/depth). Typical values for TAU0 are in the range of 0.005 – 0.1.

TAU0 = -3, paired with the primitive weighting in continuity equation nodal attribute is generally the most popular formulation. In this case, TAU0Base nodal attribute values can be generated with the ADCIRC utility program tau0_gen.f. The program bases generation on the following logic:

  • If the avg. distance between a node and its neighbors < 1750 m TAU0Base = 0.03
  • If the avg. distance between a node and its neighbors > 1750 m AND depth < 10m; TAU0Base = 0.02 (TAU0 is constant in time)
  • If the avg. distance between a node and its neighbors > 1750 m AND depth > 10m; TAU0Base = 0.005 (TAU0 is constant in time)