Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mdu keywords (not listed in appendix A of the manual) #634

Open
tim-vd-aardweg opened this issue Apr 26, 2024 · 1 comment · May be fixed by #642
Open

Add mdu keywords (not listed in appendix A of the manual) #634

tim-vd-aardweg opened this issue Apr 26, 2024 · 1 comment · May be fixed by #642
Labels
priority: high type: enhancement Improvements to existing functionality
Milestone

Comments

@tim-vd-aardweg
Copy link
Contributor

Is your feature request related to a problem? Please describe.
In #571 we have added keywords that were listed in the DHYDRO manual. A lot more keywords were requested to be added. We have decided to create a separate issue for those keywords that are not listed in the manual, since these keywords first have to be verified by the kernel developers.

Describe the solution you'd like

  • Determine whether the keywords listed below are correct, have the correct type/default value/description.
  • Add these keywords to HYDROLIB-core.

Describe alternatives you've considered
We have considered setting the Extra.allow but decided against this, as this removes some of HYDROLIB-core's features: type safety, validation and user-friendliness.

Keywords to be checked and added

Section Keyword Type Default Description
general modelspecific Optional[str] None Optional 'model specific ID', to enable certain custom runtime function calls (instead of via MDU name).
general inputspecific bool False Use of hardcoded specific inputs, shall not be used by users (0: no, 1: yes).
geometry toplayminthick float 1.e-2 Minimum top layer thickness(m), only for Z-layers.
geometry helmert boolean False Use Helmert (0: no, 1: yes).
geometry waterdepthini1d float -999.0 Initial waterdepth in 1D.
geometry zlayeratubybob int 0 Lowest connected cells governed by bob instead of by bL L/R.
geometry shipdeffile Optional[DiskOnlyFileModel] None File *.shd containing ship definitions.
geometry stripmesh bool False Strip unused nodes and links from the mesh after clipping (1: strip, 0: do not strip).
geometry bedwavelength float 0.0 Bed testcases.
geometry removesmalllinkstrsh float 0.1 0-1, 0= no removes.
geometry createlinks1d2d bool False Ruecksichtslos create links between 1D nodes and 2D cells when initializing model (1: yes, 0: no).
geometry bedwaveamplitude float 0.0 Bed testcases.
geometry uniformhu float -999.0 Waterdepth in rigid-lid-like solution.
geometry tsigma float 100.0 Sigma Adaptation period for Layertype==4 (s).
geometry dpuopt int 1 Bed level interpolation at velocity point in case of tile approach bed level: 1 = max (default); 2 = mean.
geometry ihuzcsig int 3 ???
geometry ihuz int 4 ???
geometry cosphiutrsh float 0.5 0-1, 1= no bad orthos.
geometry cutcelllist Optional[DiskOnlyFileModel] None File with names of cutcell polygons, e.g. cutcellpolygons.lst.
geometry uniformtyp1d int 3 Uniform type for channel profiles not specified by profloc.
geometry oned2dinternallinktype int 1 Link treatment method for type-3 internal links.
geometry orgfloorlevtoplaydef bool False Keep original definition of Floor level of top layer.
geometry pipefile Optional[PolyFile] None File *.pliz containing pipe-based 'culverts'.
geometry groundlayerthickness float -999.0 Only in pipes: groundlayer thickness (m).
numerics faclaxturb float 0.0 Default: 0=TurKin0 from links, 1.0=from nodes. 0.5=fityfifty.
numerics jafaclaxturbtyp int 0 Vertical distr of facLaxturb, 1=: (sigm<0.5=0.0 sigm>0.75=1.0 linear in between), 2:=1.0 for whole column.
numerics locsaltmin float 5.0 Minimum salinity for case of lock exchange.
numerics lincontin int 0 Default 0; Set to 1 for linearizing d(Hu)/dx; link to AdvecType.
numerics cfexphormom float 1.0 Exponent for including (1-CFL) in HO term horizontal mom.
numerics jbasqbnddownwindhs int 0 Water depth scheme at discharge boundaries (0: original hu, 1: downwind hs).
numerics coriohhtrsh float 0.0 0=default=no safety in hu/hus weightings, only for Newcorio=1.
numerics limtypw int 4 Limiter type for wave action transport (0: none, 1: minmod, 2: van Leer, 3: Koren, 4: monotone central).
numerics huweirregular float 0.0 For villemonte and Tabellenboek, regular hu below Huweirregular.
numerics structurelayersactive int 1 0=structure flow through all layers, 1=structure flow only through open layers.
numerics corioadamsbashfordfac float 0.5 0=No, 0.5d0=AdamsBashford, only for Newcorio=1.
numerics vertadvtypsal int 6 Vertical advection type for salinity (0: none, 1: upwind explicit, 2: central explicit, 3: upwind implicit, 4: central implicit, 5: central implicit but upwind for neg. stratif., 6: higher order explicit, no Forester).
numerics baorgfracmin float 0.0 Cell area = max(orgcellarea*Baorgfracmin, cutcell area)
numerics epstke float 1.e-32 TKE=max(TKE, EpsTKE), default=1d-32
numerics jadrhodz int 1 1:central org, 2:centralnew, 3:upw cell, 4:most stratf. cell, 5:least stratf. cell.
numerics logprofkepsbndin int 0 Inflow: 0=0 keps, 1 = log keps inflow, 2 = log keps in and outflow.
numerics epshstem float 1.e-3 Only compute heatflx + evap if depth > epshstem.
numerics newcorio bool True 0=prior to 27-11-2019, 1=no normal forcing on open bnds, plus 12 variants.
numerics diffusiononbnd bool True On open boundaries, 0 switches off horizontal diffusion Default = 1.
numerics barrieradvection int 1 1 = no correction, 2 = advection correction.
numerics rhointerfaces int 0 Evaluate rho at interfaces, 0=org at centers, 1=at interfaces.
numerics logprofatubndin int 1 ubnds inflow: 0=uniform U1, 1 = log U1, 2 = user3D.
numerics horadvtypzlayer int 1 Horizontal advection treatment of z-layers (1: default, 2: sigma-like).
numerics chkdifd float 1.e-2 Check diffusion terms if depth < chkdifd, only if jatransportautotimestepdiff==1.
numerics lateral_fixedweir_umin float 0.0 Minimal velocity treshold for weir losses in iterative lateral 1d2d weir coupling.
numerics fixedweirfrictscheme int 0 Fixed weir friction scheme (0: friction based on hu, 1: friction based on subgrid weir friction scheme).
numerics icoriolistype int 5 0=No, 5=default, 3, 4 no weights, 5-10 Kleptsova hu/hs, 25-30 Ham hs/hu, odd: 2D hs/hu, even: hsk/huk.
numerics zwsbtol float 0.0 Tolerance for zws(kb-1) at bed.
numerics cfexphu float 1.0 Exp for including (1-CFL) in sethu.
numerics drop3d float 1.0 Apply droplosses in 3D if z upwind below bob + 2/3 hu*drop3D.
numerics zlayercenterbedvel int 1 Reconstruction of center velocity at half closed bedcells (0=no, 1: copy bed link velocities).
numerics cffacver float 0.0 Factor for including (1-CFL) in HO term vertical (0d0: no, 1d0: yes).
numerics eddyviscositybedfacmax float 0.0 Limit eddy viscosity at bed.
numerics epseps float 1.e-32 EPS=max(EPS, EpsEPS), default=1d-32, (or TAU).
numerics lateral_fixedweir_umin _method int 0 Method for minimal velocity treshold for weir losses in iterative lateral 1d2d weir coupling.
numerics lateral_fixedweir _minimal_1d2d_embankment float 0.0 Minimal crest height of 1D2D SOBEK-DFM embankments.
numerics testfixedweirs int 0 Test for fixed weir algoritms (0 = Sieben2010, 1 = Sieben2007 ).
numerics jposhchk int 2 Check for positive waterdepth (0: no, 1: 0.7dts, just redo, 2: 1.0dts, close all links, 3: 0.7dts, close all links, 4: 1.0dts, reduce au, 5: 0.7dts, reduce au, 6: 1.0dts, close outflowing links, 7: 0.7*dts, close outflowing link.
numerics cfconhormom float 0.0 Constant for including (1-CFL) in HO term horizontal mom.
numerics cffachormom float 1.0 Factor for including (1-CFL) in HO term horizontal mom (0d0: no, 1d0: yes).
numerics trsh_u1lb float 0.0 2D bedfriction in 3D below this threshold (m).
numerics corioconstant int 0 0=default, 1=Coriolis constant in sferic models anyway, 2=beta plane, both in cart. and spher. coord.
numerics jaupwindsrc int 1 1st-order upwind advection at sources/sinks (1) or higher-order (0).
numerics locsaltlev float 1.0 Salinity level for case of lock exchange.
numerics subsuplupdates1 bool False Update water levels (S1) due to subsidence / uplift.
numerics linkdriedmx int 0 Nr of Au reduction steps after having dried.
numerics maxitpresdens int 1 Max nr of iterations in pressure-density coupling, only used if idensform > 10.
numerics lateral_fixedweir_relax float 0.1 Relaxation factor for iterative lateral 1d2d weir coupling algorithm.
numerics numlimdt_baorg int 0 If previous numlimdt > Numlimdt_baorg keep original cell area ba in cutcell.
numerics locsaltmax float 10.0 Maximum salinity for case of lock exchange.
numerics cffachu float 1.0 Factor for including (1-CFL) in sethu (0d0: no, 1d0: yes).
numerics jasfer3d bool True Corrections for spherical coordinates.
physics surftempsmofac float 0.0 Hor. Smoothing factor for surface water in heatflx comp. (0.0-1.0), 0=no.
physics selfattractionloading _correct_wl_with_ini bool False Correct water level with initial water level in Self attraction and loading (0=no, 1=yes).
physics nfentrainmentmomentum bool False 1: Switch on momentum transfer in NearField related entrainment.
physics uniffrictcoef1d2d float 2.3e-2 Uniform friction coefficient in 1D links (0: no friction).
physics equili bool False Equilibrium spiral flow intensity (0: no, 1: yes).
physics allowcoolingbelowzero bool False 0 = no, 1 = yes.
physics soiltempthick float 0.0 Use soil temperature buffer if > 0
physics selfattractionloading int 0 Self attraction and loading (0=no, 1=yes, 2=only self attraction).
sediment mxgrkrone int 0 Highest fraction index treated by Krone.
sediment seddenscoupling bool False Sed rho coupling (0=no, 1=yes).
sediment implicitfallvelocity int 1 1=Impl., 0 = Expl.
sediment nr_of_sedfractions int 0 Nr of sediment fractions, (specify the next parameters for each fraction).
wind windhuorzwsbased int 1 Wind hu or zws based, 0 = hu, 1 = zws.
wind varyingairdensity bool False Compute air density yes/no (), 1/0, default 0.
waves waveswartdelwaq bool False If WaveSwartDelwaq == 1 .and. Tiwaq > 0 then increase tauwave to Delwaq with 0.5rhofwuorbuorb.
waves hwavuni float 0.0 Root mean square wave height (m).
waves tifetchcomp float 0.0 Time interval fetch comp (s) in wavemodel 1, 2.
waves phiwavuni float 0.0 Root mean square wave direction, (deg), math convention.
waves threedwavestreaming int 0 Influence of wave streaming. 0: no, 1: added to adve.
waves threedwaveboundarylayer int 1 Boundary layer formulation. 1: Sana.
waves twavuni float 0.0 Root mean square wave period (s).
waves uorbfac int 0 Orbital velocities: 0=D3D style; 1=Guza style.
waves threedstokesprofile int 1 Stokes profile. 0: no, 1:uniform over depth, 2: 2nd order Stokes theory; 3: 2, with vertical stokes gradient in adve.
waves jamapsigwav int 0 1: sign wave height on map output; 0: hrms wave height on map output. Default=0 (legacy behaviour).
waves hminlw float 0.2 Cut-off depth for application of wave forces in momentum balance.
waves jahissigwav int 1 Sign wave height on his output; 0: hrms wave height on his output. Default=1.
time timestepanalysis int 0 0=no, 1=see file *.steps.
time autotimestepvisc bool False 0 = no, 1 = yes (Time limitation based on explicit diffusive term).
time dtfacmax float 1.1 Max timestep increase factor ( ).
restart rstignorebl bool False Flag indicating whether bed level from restart should be ignored (0=no (default), 1=yes).
trachytopes trtmth int 1 Area averaging method, (1=Nikuradse k based, 2=Chezy C based (parallel and serial)).
trachytopes trtmnh float 0.1 Minimum water depth for roughness computations.
trachytopes trtcll Optional[DiskOnlyFileModel] None Calibration factor file for roughness from trachytopes (see also [calibration] block).
output mbalumpsourcesinks bool False Lump MBA source/sink mass balance terms (1: yes, 0: no).
output wrimap_nearfield bool False Write near field parameters (1: yes, 0: no).
output velocitymagnitudeclasses Optional[List[str]] None Class map's list of class values for velocity magnitudes.
output writedfminterpretedvalues bool False Write DFMinterpretedvalues (1: yes, 0: no).
output deleteobspointsoutsidegrid bool False 0 - do not delete, 1 - delete.
output mbalumpboundaries bool False Lump MBA boundary mass balance terms (1: yes, 0: no).
output writepart_domain bool True Write partition domain info. for postprocessing.
output waqhoraggr Optional[DiskOnlyFileModel] None DELWAQ output horizontal aggregation file (*.dwq).
output writedetailedtimers bool False Write detailed timers output file (1: yes, 0: no).
output metadatafile Optional[DiskOnlyFileModel] None ???
output mbainterval float 0.0 Mass balance area output interval (s).
output velocitydirectionclassesinterval Optional[int] None Class map's step size of class values for velocity direction.
output wrirst_bnd bool True Write waterlevel
output generateuuid bool True Generate UUID as unique dataset identifier and include in output NetCDF files.
output timesplitinterval str 0 s Time splitting interval, after which a new output file is started. value+unit, e.g. '1 M', valid units: Y,M,D,h,m,s.
output rugfile Optional[PolyFile] None Polyline file *_rug.pli defining runup gauges.
output mbawritecsv bool False Write mass balance area output to a csv-file (1: yes, 0: no).
output mbalumpfromtomba bool False Lump MBA from/to other areas mass balance terms (1: yes, 0: no).
output mbalumpprocesses bool False Lump MBA processes mass balance terms (1: yes, 0: no).
output waqvertaggr Optional[DiskOnlyFileModel] None DELWAQ output vertical aggregation file (*.vag).
processes substancedensitycoupling bool False Substance rho coupling (0=no, 1=yes).
@tim-vd-aardweg tim-vd-aardweg added the type: enhancement Improvements to existing functionality label Apr 26, 2024
@tim-vd-aardweg tim-vd-aardweg added this to the Release 1.0 milestone Apr 26, 2024
@tim-vd-aardweg tim-vd-aardweg added this to To do in HYDROLIB-core via automation Apr 26, 2024
@tim-vd-aardweg tim-vd-aardweg moved this from To do to In progress in HYDROLIB-core May 14, 2024
tim-vd-aardweg added a commit that referenced this issue May 17, 2024
tim-vd-aardweg added a commit that referenced this issue May 17, 2024
tim-vd-aardweg added a commit that referenced this issue May 17, 2024
@tim-vd-aardweg tim-vd-aardweg linked a pull request May 17, 2024 that will close this issue
@tim-vd-aardweg tim-vd-aardweg linked a pull request May 17, 2024 that will close this issue
@tim-vd-aardweg
Copy link
Contributor Author

tim-vd-aardweg commented May 17, 2024

Found a couple more keywords that are not yet in HYDROLIB-core:

Keywords to be checked and added

Section Keyword Type Default Description
Numerics Vertadvtypmom3onbnd int 0 vert. adv. u1 bnd UpwimpL: 0=follow javau , 1 = on bnd, 2= on and near bnd.
Physics PrandtlNumberTemperature float 0.7 Turbulent Prandtl number for temperature.
Physics SchmidtNumberSalinity float 0.7 Turbulent Schmidt number for salinity.
Physics SchmidtNumberTracer float 1.0 Turbulent Schmidt number for tracer(s).
Physics Umodlin float 0.0 Linear friction umod, for ifrctyp=4,5,6.
Physics UnifFrictCoef1DgrLay float 5.d-2 Uniform ground layer friction coefficient for ocean models (m/s) (0: no friction).
Wind Wind_eachstep int 0 1=wind (and air pressure) each computational timestep, 0=wind (and air pressure) each usertimestep.
Time TStartTlfsmo float 0.0 Start time of smoothing of boundary conditions (Tlfsmo) w.r.t. RefDate (in TUnit).
Geometry ExtrBl bool False Extrapolation of bed level at boundaries according to the slope: 0 = no extrapolation (default); 1 = extrapolate.
Output MbaWriteNetCDF bool False Write mass balance area output to a netCDF-file (1: yes, 0: no).
Output MbaWriteTxt bool True Write mass balance area output to a txt-file (1: yes, 0: no).
Output NcCompression bool False Whether or not (1/0) to apply compression to NetCDF output files - NOTE: only works when NcFormat = 4.
Output Wrimap_ice bool False Write output to map file for ice cover, 0=no (default), 1=yes.
Output Wrimap_trachytopes bool True Write trachytope roughnesses to map file (1: yes, 0: no).

tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
tim-vd-aardweg added a commit that referenced this issue May 24, 2024
@tim-vd-aardweg tim-vd-aardweg moved this from In progress to Ready to review in HYDROLIB-core May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high type: enhancement Improvements to existing functionality
Projects
HYDROLIB-core
  
Ready to review
Development

Successfully merging a pull request may close this issue.

1 participant