I got a bug report from Dan Bower.
He has a regional CitcomS model with only one element in theta direction. He
also has a hand-generated tracer input, with uniformly spaced tracers throughout
the domain. However, CitcomS locates all tracers in processor #0.
After looking the the tracer output, the phi coordinate of all tracers are
different from the input. If the coordinate file is not used (coor=0), the
tracers are read in correctly.
The problem is in function regional_coord_of_cap(). This function reads the
coor_file and determine the min/max of theta/phi coordinate
(E->control.theta_min, E->control.fi_max, etc...) The code of setting
E->control.fi_max is wrong. Instead of indexed by nodey, it was indexed by
nodex. This error is in the code since r2305 (version 2.0.0).
The following parts of the code use E->control.fi_max and are affected by this bug:
* the initial temperature of regional model with tic_method 0 or 2
* the tracer module of regional model
* the lith_age module of regional model
|