[MITgcm-devel] two of my favorite packages: exf/cal
Martin Losch
Martin.Losch at awi.de
Thu Feb 8 08:54:02 EST 2007
Hi,
I am having trouble with exf and cal on a AIX, P5 IBM p690 and some
xlf95 version 10 compiler (and something similar happens on our XD1
with amd64 cpus with some pgi compiler, see optfiles sp4+mpi_jump and
linux_amd64_pgf77+mpi_xd1).
I use the data.exf_hr and data.cal of Dimitris' high-res-cube
configuration:
http://dev.mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm_contrib/
high_res_cube/input/data.exf_hr?rev=1.16&only_with_tag=MAIN&content-
type=text/vnd.viewcvs-markup
which has this latest modification about cyclic runoff climatology
Now I get this error (that does not make the model stop):
> (PID.TID 0041.0001) *** ERROR *** cal_CheckDate: Calendar date
> before predef. reference date
When I took a closer look it turns out that's something wrong with
runoffstartdate (real variable) as you can see from the STDOUT:
> (PID.TID 0041.0001) Runnoff starts at ************
> (PID.TID 0041.0001) Runoff period is -12.
> (PID.TID 0041.0001) Runoff is read from file:
> (PID.TID 0041.0001) >> /home5/hhb11/hhb112/runoff/
> runoff-360x180x12.bin <<
Along with this another startdate variable for runoff (some interger
number in the cal-package) is zero, which is really smaller than the
predef. reference date of the gregorian calendar (15821015).
Now, I can make this problem (and the warnings/errors) go away, if I
use EXF_VERBOSE !!!!!
I found that EXF_VERBOSE only affects exf_getffieldrec.F and I have
tried commenting out various parts of the code that is turned on by
EXF_VERBOSE, but could not identify an individual line that does this
(I don't get to run many small jobs on this machine, I have to wait
forever for a 10sec run ...)
On the XD1 with pgi compiler, I can make the ******* go away, if I
print runoffstartdate just before this message in exf_summary like this:
> print *, 'ml-exf: runoffstartdate =', runoffstartdate
> write(msgbuf,'(a,f13.0)')
> &' Runnoff starts at ',
> & runoffstartdate
but that does not fix the cal-error/warnings. The value of
runoffstartdate is then actually
> ml-exf: runoffstartdate = -62861529600.00000
> (PID.TID 0000.0001) Runnoff starts at -62861529600.
> (PID.TID 0000.0001) Runoff period is -12.
> (PID.TID 0000.0001) Runoff is read from file:
Something really strange. Using EXF_VERBOSE does not change anything
in this case.
Can you reproduce this problem on any of your machines, Dimitris, I
suspect that it has to do with the monthly cycling of runoff, right?
Do I have to worry about that at all?
Martin
Part of exf_getffieldrec.F
> #ifdef EXF_VERBOSE
> c Do some printing for the protocol.
> _BEGIN_MASTER( mythid )
> write(msgbuf,'(a)') ' exf_GetFFieldsRec:'
> call print_message( msgbuf, standardmessageunit,
> & SQUEEZE_RIGHT , mythid)
> write(msgbuf,'(a,2x,l2,2x,l2,2x,D15.8)')
> & ' exf_GetFFieldsRec: first, changed, fac:',
> & first, changed, fac
> call print_message( msgbuf, standardmessageunit,
> & SQUEEZE_RIGHT , mythid)
> write(msgbuf,'(a,3(1x,i6))')
> & ' exf_GetFFieldsRec: myiter, count0, count1:',
> & myiter, count0, count1
> call print_message( msgbuf, standardmessageunit,
> & SQUEEZE_RIGHT , mythid)
> write(msgbuf,'(a)') ' exf_GetFFieldsRec:'
> call print_message( msgbuf, standardmessageunit,
> & SQUEEZE_RIGHT , mythid)
> _END_MASTER( mythid )
> #endif
>
> end
More information about the MITgcm-devel
mailing list