Coast / Estuary

Coastal systems are among the most dynamic physical systems on earth and are subject to a large variety of forces. The morphodynamic changes occurring to coastlines worldwide are of great interest and importance. These changes occur as a result of the erosion of sediments, its subsequent transport as bed load or suspended load, and eventual deposition. 
Estuaries are partly enclosed water bodies that have an open connection to the coast. Estuaries generally have one or more branching channels, intertidal mudflats and/or salt marshes. Intertidal areas are of high ecological importance and trap sediments (sands, silts, clays and organic matter).
Within the Delft3D modelling package a large variation of coastal and estuarine physical and chemical processes can be simulated. These include waves, tidal propagation, wind- or wave-induced water level setup, flow induced by salinity or temperature gradients, sand and mud transport, water quality and changing bathymetry (morphology). Delft3D can also be used operationally e.g. storm, surge and algal bloom forecasting. 
On this discussion page you can post questions, research discussions or just share your experience about modelling coastal and/or estuarine systems with Delft3D FM. 




Sub groups
D-Flow Flexible Mesh
Cohesive sediments & muddy systems


« Back to General

RE: Unable to read subfields of sediment transport using qpread

Combination View Flat View Tree View
Threads [ Previous | Next ]
Unable to read subfields of sediment transport using qpread
sediment transport post-processing qpread
Answer (Unmark)
4/27/17 10:05 AM

I have a 3D simulation considering transport of multiple sediment fractions. Using QUICKPLOT I am able to load and visualise the sediment transport fields of each sediment fraction. For example, d.a. suspended transport for subfield 'Sediment1'.

I remain, however, unable to load the same data in matlab using qpread function. It seems stubbornly unable to read subfields from trim files.

If qpread could handle reading griddata of subfields from trim files, I assume the code would go something like...

% Get info on subfields to read in for depth-average sediment transport
dpath = '..\Runs\Test003\';
F = qpfopen([dpath,'trim-FLOW.dat']);
FLDS = qpread(F,0);
SBFLDS = qpread(F,0,'d.a. suspended transport','subfields');

% read in data for first subfield (first sediment fraction), all timesteps, all grid cells:
S1 = qpread(F,0,'d.a. suspended transport','griddata',SBFLDS{1},0,0,0);

However, no matter what I try, I keep getting get a 'Index exceeds matrix dimensions' error.

The offending function is 'd3d_trimfil' at line 118, with the dimensions of variable 'idx' not matching that of varargin(2:end). Although at first sight it seems a relatively simple bug fix, it's not that obvious how to do it such that the dimensions are handled correctly for all cases rather than just the one particular instance.

Has anybody solved this problem? It is possible to hack DETRAN to give you what you want, but it's a pain in the arse - especially if curvilinear grid as vs_let only exports u,v, not x,y components. It would be better if qpread could just load in the data and give you what you want as either u,v / x,y/ m,n components.


RE: Unable to read subfields of sediment transport using qpread
Answer (Unmark)
5/26/17 7:02 PMas a reply to Ben Williams.
Don't use SBFLDS {1} but rather just simply 1. The command expects a number and not a string.
RE: Unable to read subfields of sediment transport using qpread
Answer (Unmark)
7/14/17 1:50 AMas a reply to Bert Jagers.
Thanks Bert, I'll give that a go.