[MITgcm-devel] Re: TARGET_NEC_SX in ini_curvilinear_grid.F
Martin Losch
Martin.Losch at awi.de
Wed Feb 18 06:04:33 EST 2009
Hi Jean-Michel,
I tried,
tile_number = iG = Bi + (Bj-1)*(nSx*nPx)
in ini_curvilinear_grid and it works only for nSx=2,nPx=1 but not for
nSx=1,nPx=2 because bj always ranges from 1 to nSy. We need to have
the processor ID in this case, not sure how to do this.
It does make sense to me to have the convention of first counting in
bi-direction. Not quite sure, how intuitive it is, though ...
So I'd say, go ahead with this choice. (but I would be happy with a
STOP as well, as long as I -- and potentially other -- don't stumble
over this all the time).
Martin
On Feb 16, 2009, at 4:51 PM, Jean-Michel Campin wrote:
> Hi Martin,
>
> On Mon, Feb 16, 2009 at 09:42:26AM +0100, Martin Losch wrote:
>> Hi Jean-Michel,
>> both you suggestion in this email and the fix that you checked in
>> work,
>> so I guess now this part is OK. Thanks.
>
> Good thing to know (since we already remove your fix).
>
>> However, I have another problem (that I almost forgot about). In my
>> 2cpu
>> configuration (nPx=1,nPy=2,nSx=1,nSy=1) without EXCH2 it appears that
>> only tile001.mitgrid is read:
>>> sx8::test> grep tile00* STDOUT.*
>>> STDOUT.0000:(PID.TID 0000.0001) tile: 1 ; Read from file
>>> tile001.mitgrid
>>> STDOUT.0001:(PID.TID 0001.0001) tile: 1 ; Read from file
>>> tile001.mitgrid
>> with the obvious consequences for the grid. (np2=1 and nsy=2 does not
>> work either). It looks like the code is set up to read only cubed
>> sphere
>> faces (or domains with tiles in X only). Maybe it's a good idea to
>> catch
>> that case (#ifndef OLD_GRID_IO and if (sny*npy>1) then STOP)?
>>
>> Martin
>
> We can change it to make it work (with 1 grid-file per tile).
> It's just that we need to agree on how the tile & grid-file name
> will be,
> since we only have 1 number for both Bi,Bj (<- I mean global tile
> indices,
> in (nSx*nPx,nSy*nPy)),
> and I would like to keep the same file name shape:
> tile[3_digit_number].mitgrid
>
> The easier would be:
> tile_number = Bi + (Bj-1)*(nSx*nPx)
> so that it goes from 1:nSx*nPx for Bj=1
> then 1+nSx*nPx:2*nSx*nPx for Bj=2
> and so on.
>
> Would this be usefull ? Or do you prefer a "STOP" ?
>
> Cheers,
> Jean-Michel
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list