Migration status

  • Home Page: Activity map.

intro story DELWAQ

DELWAQ

DELWAQ is the engine of the D-Water Quality and D-Ecology programmes of the Delft3D suite. It is based on a rich library from which relevant substances and processes can be selected to quickly put water and sediment quality models together.

The processes library covers many aspects of water quality and ecology, from basic tracers, dissolved oxygen, nutrients, organic matter, inorganic suspended matter, heavy metals, bacteria and organic micro-pollutants, to complex algae and macrophyte dynamics. High performance solvers enable the simulation of long periods, often required to capture the full cycles of the processes being modelled.

The finite volume approach underlying DELWAQ allows it to be coupled to both the structured grid hydrodynamics of the current Delft3D-FLOW engine and the upcoming D-Flow Flexible Mesh engine (1D-2D-3D) of the Delft3D Flexible Mesh Suite (or even other models such as TELEMAC).

'DELWAQ in open source' is our invitation to all leading experts to collaborate in further development and research in the field of water quality, ecology and morphology using Delft3D. Feel free to post your DELWAQ related questions or comments in this dedicated forum space. If you are new to DELWAQ, the tutorial (in the user manual) is a good place to start. A list of DELWAQ related publications is available here.

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ

Cohesive sediments & muddy systems

 


Message Boards

Where are tables in "waq_tables" by waq-processes included?

GS
Gholamreza Shiravani, modified 7 Months ago.

Where are tables in "waq_tables" by waq-processes included?

Padawan Posts: 62 Join Date: 6/25/16 Recent Posts

Hi Dear D3D-Delwaq community,

could anyone tell me, where are the tables in  "waq_tables" by compiling included? I change some parameters in these tables, but after compiling I see no change in the .lsp file, which is made by Delwaq1. Are the data of these tables used by Delwaq? If yes, why changing them dose not effect the Delwaq .lsp results?

AM
Arjen Markus, modified 7 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Jedi Knight Posts: 223 Join Date: 1/26/11 Recent Posts

Directly changing these tables is not enough - they have to processed by the waqpb_export/waqpb_import programs. This results in a new processes definition file (proc_def.dat/.def) and this file (or rather pair of files) is read by DELWAQ1.

I am not sure whether the correct procedure has been described properly. We mostly advise people to use the OpenPLCT method to add processes. You are changing an existing process.

GS
Gholamreza Shiravani, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Padawan Posts: 62 Join Date: 6/25/16 Recent Posts

Hi Arjen, thanks for your answer. Yes, you are right. I tried to run .bat files in waq_tables but nothing was happened. Then, I realized to follow the instructions in waqpb_help. Based on these instructions, I tried in tools_gpl/waqpb/packages to generate the .exe-file (waqpb_export.exe) for waqpb_export.bat. But the .f-file in waqpb_export/src/waqpb_export.f is compiled (ifort -c waqpb_export.f) and  the .o file generated, but to generate the .exe-file (waqpb_export.exe) I run : ifort  waqpb_export.f  -o waqpb_export.exe and I got following errors:

 /tmp/ifortEDmSzw.o: In function `MAIN__':
waqpb_export.f:(.text+0x2b9): undefined reference to `readdb_'
waqpb_export.f:(.text+0x31e): undefined reference to `zoek_'
waqpb_export.f:(.text+0x36b): undefined reference to `zoek_'
waqpb_export.f:(.text+0x416): undefined reference to `zoek_'
waqpb_export.f:(.text+0x45d): undefined reference to `zoek_'
waqpb_export.f:(.text+0x4c1): undefined reference to `writex_'
waqpb_export.f:(.text+0x4fb): undefined reference to `makind_'
waqpb_export.f:(.text+0x517): undefined reference to `pdfnef_'
waqpb_export.f:(.text+0x7b1): undefined reference to `zoek_'
waqpb_export.f:(.text+0x82c): undefined reference to `zoek_'
waqpb_export.f:(.text+0xa87): undefined reference to `zoek_'
waqpb_export.f:(.text+0xae4): undefined reference to `zoek_'
waqpb_export.f:(.text+0xb5f): undefined reference to `zoek_'
/tmp/ifortEDmSzw.o:waqpb_export.f:(.text+0xd0d): more undefined references to `zoek_' follow
/tmp/ifortEDmSzw.o: In function `MAIN__':
waqpb_export.f:(.text+0x1430): undefined reference to `wripdn_'
waqpb_export.f:(.text+0x144c): undefined reference to `wripdf_'
waqpb_export.f:(.text+0x14a7): undefined reference to `coefed_'
 

All files on the right-hand-side of aforementioned errors are located in waq_lib/src, but I do not know how these errors will be solved, and waqpb_export.exe-file will generated? Copying these files (files in waq_lib/src) to waqpb_export/src makes no success.

AG
Anne Garner, modified 2 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Youngling Posts: 1 Join Date: 10/10/19 Recent Posts
Arjen Markus:

Directly changing these tables is not enough - they have to processed by the waqpb_export/waqpb_import/run 3 programs. This results in a new processes definition file (proc_def.dat/.def) and this file (or rather pair of files) is read by DELWAQ1.
I am not sure whether the correct procedure has been described properly. We mostly advise people to use the OpenPLCT method to add processes. You are changing an existing process.
I understand. Thank you for your answer.
AM
Arjen Markus, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Jedi Knight Posts: 223 Join Date: 1/26/11 Recent Posts

In the link step you will need to supply the various .obj files from waqpb_lib/src as well. You could indeed copy all the source files into one directroy and then use a command like:

ifort -o waqpb_export *.f*

(Note that you also need the NEFIS library, which has been implemented in C, so that is an extra complication ;).)

An easier approach may be - as you seem to be working on Linux - is to use the autotools method. Other tools do have Makefile.am files and you can use them as an example of how to proceed.

GS
Gholamreza Shiravani, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Padawan Posts: 62 Join Date: 6/25/16 Recent Posts

Hi Arjen, thanks for your answer. I did all as you said and I got the folloing error:

readdb.f(323): error #5120: Unterminated character constant
  300 if ( n_old_items+1 .gt. n_old_items_max ) stop 'dimension n_old_items_max'
-----------------------------------------------------^
readdb.f(485): error #5082: Syntax error, found ''' when expecting one of: <QUOTE_LPAREN> <REAL_KIND_CON> <REAL_CONSTANT> <DBLPRC_CONSTANT> <DBLPRC_KIND_CON> <QUAPRC_CONSTANT> ...
      write (lu,'(''old_name,new_name,old_default,configuration,serial,action_type'')')
----------------^
readdb.f(487): error #5082: Syntax error, found ''' when expecting one of: <QUOTE_LPAREN> <REAL_KIND_CON> <REAL_CONSTANT> <DBLPRC_CONSTANT> <DBLPRC_KIND_CON> <QUAPRC_CONSTANT> ...
     jwrite (lu,'(''"'',a10,''","'',a10,''",'',g15.6,'',"'',a10,''",'',i10,'','',i10)')
----------------^
compilation aborted for readdb.f (code 1)
 

Many thanks.

AM
Arjen Markus, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Jedi Knight Posts: 223 Join Date: 1/26/11 Recent Posts

Hm, it looks like lines that exceed 72 characters - old-style Fortran code. Try an option like -extend-source 132. This will allow lines up to 132 characters long.

GS
Gholamreza Shiravani, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Padawan Posts: 62 Join Date: 6/25/16 Recent Posts

doing: ifort  -extend-source 132 -o waqpb_export *.f*
makes following errors:), too many :)


/tmp/ifortyrrJOB.o: In function `wr_tabp4_':
wr_tabp4.f:(.text+0x13c): undefined reference to `defelm_'
wr_tabp4.f:(.text+0x1aa): undefined reference to `defcel_'
wr_tabp4.f:(.text+0x2ac): undefined reference to `defgrp_'
wr_tabp4.f:(.text+0x3ab): undefined reference to `credat_'
wr_tabp4.f:(.text+0x496): undefined reference to `flsdef_'
wr_tabp4.f:(.text+0x559): undefined reference to `flsdat_'
wr_tabp4.f:(.text+0x6b9): undefined reference to `putelt_'
wr_tabp4.f:(.text+0x83b): undefined reference to `putels_'
wr_tabp4.f:(.text+0x9bd): undefined reference to `putels_'
wr_tabp4.f:(.text+0xb42): undefined reference to `putels_'
wr_tabp4.f:(.text+0xcab): undefined reference to `putelt_'
/tmp/ifortSu7zl1.o: In function `wr_tabp5_':
wr_tabp5.f:(.text+0x129): undefined reference to `defelm_'
wr_tabp5.f:(.text+0x18d): undefined reference to `defcel_'
wr_tabp5.f:(.text+0x288): undefined reference to `defgrp_'
wr_tabp5.f:(.text+0x380): undefined reference to `credat_'
wr_tabp5.f:(.text+0x464): undefined reference to `flsdef_'
wr_tabp5.f:(.text+0x520): undefined reference to `flsdat_'
wr_tabp5.f:(.text+0x679): undefined reference to `putelt_'
wr_tabp5.f:(.text+0x7f3): undefined reference to `putels_'
wr_tabp5.f:(.text+0x968): undefined reference to `putels_'
/tmp/ifort816qSq.o: In function `wr_tabr1_':
wr_tabr1.f:(.text+0x12a): undefined reference to `defelm_'
wr_tabr1.f:(.text+0x190): undefined reference to `defcel_'
wr_tabr1.f:(.text+0x28e): undefined reference to `defgrp_'
wr_tabr1.f:(.text+0x386): undefined reference to `credat_'
wr_tabr1.f:(.text+0x46a): undefined reference to `flsdef_'
wr_tabr1.f:(.text+0x526): undefined reference to `flsdat_'
wr_tabr1.f:(.text+0x686): undefined reference to `putelt_'
wr_tabr1.f:(.text+0x7f8): undefined reference to `putelt_'
wr_tabr1.f:(.text+0x967): undefined reference to `putelt_'
/tmp/ifortxpgipQ.o: In function `wr_tabr2_':
wr_tabr2.f:(.text+0x129): undefined reference to `defelm_'
wr_tabr2.f:(.text+0x18d): undefined reference to `defcel_'
wr_tabr2.f:(.text+0x288): undefined reference to `defgrp_'
wr_tabr2.f:(.text+0x380): undefined reference to `credat_'
wr_tabr2.f:(.text+0x464): undefined reference to `flsdef_'
wr_tabr2.f:(.text+0x520): undefined reference to `flsdat_'
wr_tabr2.f:(.text+0x679): undefined reference to `putelt_'
wr_tabr2.f:(.text+0x7f3): undefined reference to `putels_'
wr_tabr2.f:(.text+0x968): undefined reference to `putels_'
/tmp/ifortEyD9Vf.o: In function `wr_tabr3_':
wr_tabr3.f:(.text+0x14a): undefined reference to `defelm_'
wr_tabr3.f:(.text+0x1b9): undefined reference to `defcel_'
wr_tabr3.f:(.text+0x2bb): undefined reference to `defgrp_'
wr_tabr3.f:(.text+0x3ba): undefined reference to `credat_'
wr_tabr3.f:(.text+0x4a5): undefined reference to `flsdef_'
wr_tabr3.f:(.text+0x568): undefined reference to `flsdat_'
wr_tabr3.f:(.text+0x6c8): undefined reference to `putelt_'
wr_tabr3.f:(.text+0x84a): undefined reference to `putels_'
wr_tabr3.f:(.text+0x9cc): undefined reference to `putels_'
wr_tabr3.f:(.text+0xb42): undefined reference to `putelt_'
wr_tabr3.f:(.text+0xcca): undefined reference to `putels_'
wr_tabr3.f:(.text+0xe52): undefined reference to `putels_'
wr_tabr3.f:(.text+0xfbe): undefined reference to `putelt_'
/tmp/ifortFui1sF.o: In function `wr_tabr4_':
wr_tabr4.f:(.text+0x143): undefined reference to `defelm_'
wr_tabr4.f:(.text+0x1b2): undefined reference to `defcel_'
wr_tabr4.f:(.text+0x2b4): undefined reference to `defgrp_'
wr_tabr4.f:(.text+0x3b3): undefined reference to `credat_'
wr_tabr4.f:(.text+0x49e): undefined reference to `flsdef_'
wr_tabr4.f:(.text+0x561): undefined reference to `flsdat_'
wr_tabr4.f:(.text+0x6c1): undefined reference to `putelt_'
wr_tabr4.f:(.text+0x843): undefined reference to `putels_'
wr_tabr4.f:(.text+0x9c5): undefined reference to `putels_'
wr_tabr4.f:(.text+0xb38): undefined reference to `putelt_'
wr_tabr4.f:(.text+0xcbd): undefined reference to `putels_'
wr_tabr4.f:(.text+0xe29): undefined reference to `putelt_'
/tmp/ifortL0aTZ4.o: In function `wr_tabr5_':
wr_tabr5.f:(.text+0x13c): undefined reference to `defelm_'
wr_tabr5.f:(.text+0x1aa): undefined reference to `defcel_'
wr_tabr5.f:(.text+0x2ac): undefined reference to `defgrp_'
wr_tabr5.f:(.text+0x3ab): undefined reference to `credat_'
wr_tabr5.f:(.text+0x496): undefined reference to `flsdef_'
wr_tabr5.f:(.text+0x559): undefined reference to `flsdat_'
wr_tabr5.f:(.text+0x6b9): undefined reference to `putelt_'
wr_tabr5.f:(.text+0x83b): undefined reference to `putels_'
wr_tabr5.f:(.text+0x9bd): undefined reference to `putels_'
wr_tabr5.f:(.text+0xb30): undefined reference to `putelt_'
wr_tabr5.f:(.text+0xcab): undefined reference to `putels_'
/tmp/ifort1deLwu.o: In function `wr_tabr6_':
wr_tabr6.f:(.text+0x130): undefined reference to `defelm_'
wr_tabr6.f:(.text+0x19c): undefined reference to `defcel_'
wr_tabr6.f:(.text+0x29e): undefined reference to `defgrp_'
wr_tabr6.f:(.text+0x39d): undefined reference to `credat_'
wr_tabr6.f:(.text+0x488): undefined reference to `flsdef_'
wr_tabr6.f:(.text+0x54b): undefined reference to `flsdat_'
wr_tabr6.f:(.text+0x6ab): undefined reference to `putelt_'
wr_tabr6.f:(.text+0x82d): undefined reference to `putels_'
wr_tabr6.f:(.text+0x9ac): undefined reference to `putels_'
wr_tabr6.f:(.text+0xb15): undefined reference to `putelt_'
/tmp/ifortDBzD3T.o: In function `wr_tabr7_':
wr_tabr7.f:(.text+0x130): undefined reference to `defelm_'
wr_tabr7.f:(.text+0x19c): undefined reference to `defcel_'
wr_tabr7.f:(.text+0x29e): undefined reference to `defgrp_'
wr_tabr7.f:(.text+0x39d): undefined reference to `credat_'
wr_tabr7.f:(.text+0x488): undefined reference to `flsdef_'
wr_tabr7.f:(.text+0x54b): undefined reference to `flsdat_'
wr_tabr7.f:(.text+0x6ab): undefined reference to `putelt_'
wr_tabr7.f:(.text+0x82d): undefined reference to `putels_'
wr_tabr7.f:(.text+0x9ac): undefined reference to `putels_'
wr_tabr7.f:(.text+0xb15): undefined reference to `putelt_'
/tmp/ifortqB8vAj.o: In function `wr_tabr8_':
wr_tabr8.f:(.text+0x130): undefined reference to `defelm_'
wr_tabr8.f:(.text+0x19c): undefined reference to `defcel_'
wr_tabr8.f:(.text+0x29e): undefined reference to `defgrp_'
wr_tabr8.f:(.text+0x39d): undefined reference to `credat_'
wr_tabr8.f:(.text+0x488): undefined reference to `flsdef_'
wr_tabr8.f:(.text+0x54b): undefined reference to `flsdat_'
wr_tabr8.f:(.text+0x6ab): undefined reference to `putelt_'
wr_tabr8.f:(.text+0x82d): undefined reference to `putels_'
wr_tabr8.f:(.text+0x9ac): undefined reference to `putels_'
wr_tabr8.f:(.text+0xb15): undefined reference to `putelt_'
/tmp/ifort8bRo7I.o: In function `wr_tabr9_':
wr_tabr9.f:(.text+0x129): undefined reference to `defelm_'
wr_tabr9.f:(.text+0x18d): undefined reference to `defcel_'
wr_tabr9.f:(.text+0x288): undefined reference to `defgrp_'
wr_tabr9.f:(.text+0x380): undefined reference to `credat_'
wr_tabr9.f:(.text+0x464): undefined reference to `flsdef_'
wr_tabr9.f:(.text+0x520): undefined reference to `flsdat_'
wr_tabr9.f:(.text+0x679): undefined reference to `putelt_'
wr_tabr9.f:(.text+0x7f3): undefined reference to `putels_'
wr_tabr9.f:(.text+0x968): undefined reference to `putels_'
 

AM
Arjen Markus, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Jedi Knight Posts: 223 Join Date: 1/26/11 Recent Posts

Those are routines in the NEFIS library - you will have to include that in the list of libraries  - the waqpb_export_LDADD macro

GS
Gholamreza Shiravani, modified 6 Months ago.

RE: Where are tables in "waq_tables" by waq-processes included?

Padawan Posts: 62 Join Date: 6/25/16 Recent Posts

is it possible to send me the  waqpb_export.exe file?