Nonconservative salinity, temperature in DFM - Forum - Delft3D Flexible Mesh
Forum
- Home
- 3. Archive
- General
- 1. Simulation input, run, performance
- Nonconservative salinity, temperature in DFM
Nonconservative salinity, temperature in DFM
Rusty Holleman, modified 4 Years ago.
Nonconservative salinity, temperature in DFM
Youngling Post: 1 Join Date: 3/22/15 Recent Posts
I am developing a DFM domain for a small coastal lagoon, and encountering issues with salinity and temperature. Notably, I get salinity values which are greater than the initial condition or any boundary conditions. It seems to be a substantial mass, not limited to very shallow cells at the wetting/drying front. My initial condition is 0ppt, with a 34 ppt ocean boundary, and I see salinity values of 40 or more. In a 12 hour run, I summed the mass of salt exceeding 34ppt (i.e. sum( FlowElem_bac*waterdepth*max(sa1-34,0)) over the full domain). In some cases this showed as much as 1500 kg of "extra" salt (for reference, the volume of the domain is about 4e5 m3). Temperature also has output values that are sometimes greater than the initial condition or boundary conditions (with no additional heat fluxes).
Things I have tried to eliminate or constrain the source of this:
1. make initial condition and boundary conditions for salt and temperature constant and equal. In this case no new maxima are generated.
2. Compare running in 2D (Kmx=0) and 3D, one layer (Kmx=1): Different results but qualitatively the same behavior. Ultimately we want to run this in 3D, but currently just making sure it runs okay in 2D.
3. No change with increasing Epshu, changing limtypsa, CFLmax, changing TransportTimestepping
4. The domain is in UTM, and high resolution (dx ~ 3-10m). Tried translating the domain to be centered around 0 in case floating point truncation was a problem, but no change.
5. Mostly testing with 2021.03, but also tested with 1.6.1 with no change in behavior. All runs on Linux, using MPI (though it doesn't appear that the cells with excess salt are in the vicinity of inter-processor ghost cells).
The one setting that seems to have a big effect is BedLevType. The worst behavior seems to be with BedLevType=4. Type 3 is slightly better, and type 6 is the best (excess salt mass down to a max of 60kg).
Are there other settings in the MDU we should consider (aside from using Salimax and Tempmax)?
Thanks!
Rusty
Things I have tried to eliminate or constrain the source of this:
1. make initial condition and boundary conditions for salt and temperature constant and equal. In this case no new maxima are generated.
2. Compare running in 2D (Kmx=0) and 3D, one layer (Kmx=1): Different results but qualitatively the same behavior. Ultimately we want to run this in 3D, but currently just making sure it runs okay in 2D.
3. No change with increasing Epshu, changing limtypsa, CFLmax, changing TransportTimestepping
4. The domain is in UTM, and high resolution (dx ~ 3-10m). Tried translating the domain to be centered around 0 in case floating point truncation was a problem, but no change.
5. Mostly testing with 2021.03, but also tested with 1.6.1 with no change in behavior. All runs on Linux, using MPI (though it doesn't appear that the cells with excess salt are in the vicinity of inter-processor ghost cells).
The one setting that seems to have a big effect is BedLevType. The worst behavior seems to be with BedLevType=4. Type 3 is slightly better, and type 6 is the best (excess salt mass down to a max of 60kg).
Are there other settings in the MDU we should consider (aside from using Salimax and Tempmax)?
Thanks!
Rusty
Attachments: