#1146 closed Defect (fixed)
flread loses information in the 69th year of run
Reported by: | mouchet | Owned by: | nemo |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | OFF | Version: | v3.4 |
Severity: | Keywords: | ||
Cc: | Anne.Mouchet@…, Olivier.Marti@…, Jean-Claude.Dutay@… |
Description
The following behavior is obtained with configuration OFF_MY_TRC & NEMO v3.4
I launched a 100 years experiment (no intermediate restart).
Suddenly (within one time step), in the 69th year of run all concentrations became NaN.
My understanding is that flread suddenly loses the information about the actual record time.
There is nothing more special that year than any other. I use climatological dynamical forcing (perpetual year with values every 5 days). Exactly the same thing happen whether tracers undergo sms or not.
Ch. Ethé obtained exactly the same behavior on a different computer with his own version of the model.
Many thanks for your help,
Anne
Commit History (4)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
4104 | smasson | 2013-10-22T15:35:12+02:00 | |
4103 | smasson | 2013-10-22T15:34:17+02:00 | |
4086 | smasson | 2013-10-21T15:20:22+02:00 | v3_4_STABLE: add a stop if the calendar exceed i4 max value, see #1146 |
4085 | smasson | 2013-10-21T15:16:09+02:00 | trunk: add stop if calendar exceed i4 max value, see #1146 |
Change History (3)
comment:1 Changed 10 years ago by clevy
- Type changed from Bug to Defect
comment:2 Changed 10 years ago by smasson
- Resolution set to fixed
- Status changed from new to closed
The problem is that fldread uses the number of seconds since the last restart and store it in an integer. By default you compile NEMO with integer 4, which means that the bigger number you can store is 2(4*8-1)-1 and
=> you exceed integer 4 precision when moving to year 69 and you get NaN or other values according to the compiler or the compiler options you use.
Solutions are:
A stop has been had in the trunk, see r4085 and in v3_4_STABLE, see r4086