Hi Pedro,
Not a silly question. This trips people up the first time they change the time step on a restart, and the root of it is that two different counters both get called "istep."
There is a ParFlow counter and a CLM counter, on different clocks in your example (often to avoid confusion like this we set them to be the same, e.g. 1h).
The ParFlow counter is TimingInfo.StartCount. It counts dumps, advances by one every DumpInterval of real time, and names the press.NNNNN files. On a restart you set it to the last dump number. In your case (positive) 24 which is real hours, e.g. 1d.
The CLM counter is Solver.CLM.IstepStart. It counts forcing records, names the CLM output, and drives the met file lookup. It advances by one every forcing interval, where the forcing interval is ReuseCount * TimeStep.
forcing interval = ReuseCount * TimeStep (must equal the real spacing of your met files, I can’t tell if this is 3h or 0.5h, see below)
IstepStart = StartTime / forcing interval + 1
StartCount = StartTime / DumpInterval
The important part for your change: IstepStart depends only on the forcing interval, not on how you split that interval between the time step and ReuseCount.
What I can’t figure out from your keys is the forcing interval itself, because you did not send the time spacing of your met files or ReuseCount. Two possibilities fit what you described, and they conflict with your original keys:
- Your forcing is 0.5 h. Then ReuseCount was 1, and 2400 / 0.5 + 1 = 4801 was right. You cannot drive a 3 h step from 0.5 h forcing, so for the new run you regenerated to 3 h forcing, ReuseCount stays 1, and 2400 / 3 + 1 = 801. This matches what you are doing.
- Your forcing was 3 h all along. Then the original 0.5 h run needed ReuseCount = 3 / 0.5 = 6, not 1, and IstepStart should have been 2400 / 3 + 1 = 801 there too, not 4801. In that case the original deck was reading the wrong records and just never threw an error (this can happen sometimes with forcing files).
So please send three numbers so we can help figure this out: the real time spacing of your forcing files, MetFileNT, and ReuseCount. Then apply ReuseCount * TimeStep = forcing interval and IstepStart = StartTime / forcing interval + 1. For a 3 h forcing interval that lands on 801 either way, so if your new files really are 3 h you are fine.
Two more consistency checks you can always do. The time step should divide DumpInterval evenly, 24 / 3 = 8, so you are fine, and check Solver.CLM.CLMDumpInterval the same way since it runs on its own clock (positive for time in h, negative for timesteps). The start date and hour in drv_clmin.dat should still point to the beginning of your forcing series.
To confirm the resolved indexing without guessing, two output files carry it in the open. The <runname>.out.log has a plain-text table, Sequence number, Time, dt, Dumpfile number, so you can read off the model time and dump number for any step. The <runname>.pfmetadata is JSON and records the timing along with, for 3D forcing, the CLM met indexing it actually used (istep start, MetFileNT, path, file, and the from_to range it builds the file name from). Both these files can help you figure this out and confirm timing.
Reed
--
You received this message because you are subscribed to the Google Groups "ParFlow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
parflow+u...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/parflow/4f74abea-a197-4a44-8797-b44ae4719559n%40googlegroups.com.