I just went through the SEAWAT tutorial on the flopy website (https://flopy.readthedocs.io/en/latest/_notebooks/tutorial01_seawat.html) and I have the feeling, that when I read the stress periods and timesteps for the concentration, the outputs are weird.
The following lines of the tutorial are important here:
dis = flopy.modflow.ModflowDis(...,nper=1,perlen=1.5,nstp=15)
and
btn = flopy.mt3d.Mt3dBtn(...,nprs=-5,nprobs=10,nprmas=10,dt0=0.001)
If I understand it right, I have one stress period of the length of 1.5 days, which gets divided into 15 time steps for the flow calculation. For the transport a time step size of 0.001 days is chosen, of which every 5th one is saved as an output. This would result in 300 steps, that are saved.
When I acess the data with
ucnobj = bf.UcnFile("MT3D001.UCN", model=swt)
ucnobj.get_kstpkper()
it shout output the tuples of (time step, stress period) for the transport. I get 300 values, which is expected, however only 15 of them are unique. (0,0), (1,0), (2,0), ..., (14,0) are repeated 20 times each. And since I have so many duplicates, it is not really possible to access the data using
ucnobj.get_data(kstpkper=(14,0))
for example. The get_data() function seems to be based on the flow simulation rather than the transport simulation. The only way to access the concentration data is with the time argument. Is that really how it is supposed to work? Cause this makes the get_kstpkper() function as well as the kstpkper argument for the get_data() function seem useless.
Maybe I am just missing/misunderstanding something... I would appreciate if you could help me to understand this :)