Hi,
I figured to put this here, in case someone else loses a day trying to chase this.
I'm having a curious behavior in the log file (and the model) that happens when I go from using 1 cpu to 12 cpus. This is for v7p1r1.
The model is for Lake Macquarie, Australia. It was running well previously with 44 liquid boundaries (Q only) with 12 cpus.
I added a tracer TR(X,3) in the liquid boundary file, i.e., Q(1)...Q(22)...Q(44) TR(1,3)....TR(22,3)...TR(44,3). Tracer 1 and 2 are salt and temperature, which are set through 44 PRESCRIBED VALUES each in CAS file.
When I run the model with 1 cpu, the model runs and the log reads the tracer values for all 44 liquid boundaries, for example,
===================
ITERATION 1 TIME .... (900s)
LIQUID BOUNDARY: TR(1,3) = 0.00000000
LIQUID BOUNDARY: TR(2,3) = 0.00000000
"
"
"
LIQUID BOUNDARY: TR(44,3) = 0.00000000
LIQUID BOUNDARY: Q(1) = 10.00000000
"
"
"
LIQUID BOUNDARY: Q(44) = 10.00000000
=============================================
When I run the same model with 12 cpus in the CAS file, the output seems to skip the tracer records, for example, instead of the log showing TR(1,3)...TR(44,3), it only shows TR(5,3)...TR(9,3). Only 5 inputs...but the Q input remains at 44 inputs.
===================
ITERATION 1 TIME .... (900s)
LIQUID BOUNDARY: TR(5,3) = 0.00000000
LIQUID BOUNDARY: TR(6,3) = 0.00000000
LIQUID BOUNDARY: TR(7,3) = 0.00000000
LIQUID BOUNDARY: TR(8,3) = 0.00000000
LIQUID BOUNDARY: TR(9,3) = 0.00000000
LIQUID BOUNDARY: Q(1) = 10.00000000
"
"
"
LIQUID BOUNDARY: Q(44) = 10.00000000
=============================================
I managed to backtrace it to NUMLIQ%I which contains the liquid boundary number. In the case for cpu=12, the NUMLIQ%I only has values of 5...9 instead of 1...44. But on both cases, the respective logs (in earlier part) reads that there are 44 liquid boundaries.
For cpu=6, the output is for only 10 inputs:
===================
ITERATION 1 TIME .... (900s)
LIQUID BOUNDARY: TR(17,3) = 0.00000000
"
"
"
LIQUID BOUNDARY: TR(26,3) = 0.00000000
LIQUID BOUNDARY: Q(1) = 10.00000000
"
"
"
LIQUID BOUNDARY: Q(44) = 10.00000000
=============================================
The SLF output shows that the TR(38,3) and TR(12,3) has 0.0 TR value as expected. TR(38) and TR(12) are my only inputs with flow for the runtime tested.
So it seems to work with 1,6,12 cpus but the log is not correct.
Has anyone come across this before?
Thanks,
Shiv
KEYWORDS: Tracer, Incorrect log, TR, changing number of cpu