[MITgcm-support] netcdf with curvilinear grid
Martin Losch
Martin.Losch at awi.de
Thu Jan 31 02:34:30 EST 2008
Hi Ed,
where in the jungle of mnc can I find a clue of what's happening, why
for one tile/cpu, the j-ordering is one way and for the other it's
reversed, what variables control that and where do they get their
information from, so I can try to hunt this problem down.
Martin
On 30 Jan 2008, at 18:13, Martin Losch wrote:
> once again for the support list:
>
> Hi Ed,
> my netcdf files do not have any exch2_ attributes. I have included
> the output of ncdump -h grid.t002.nc for your convenience (the same
> files are in the tarball at <http://mitgcm.org/~mlosch/
> gridfiles.tar>).
> Is there anything else that can cause this, such as the actual
> values of the coordinates? I am clueless.
>
> Martin
>
> sx8::test03> ncdump -h grid.t002.nc
> netcdf grid.t002 {
> dimensions:
> Z = 33 ;
> Zp1 = 34 ;
> Zu = 33 ;
> Zl = 33 ;
> X = 243 ;
> Y = 85 ;
> Xp1 = 244 ;
> Yp1 = 86 ;
> variables:
> double Z(Z) ;
> double RC(Z) ;
> RC:description = "R coordinate of cell center" ;
> RC:units = "m" ;
> double Zp1(Zp1) ;
> double RF(Zp1) ;
> RF:description = "R coordinate of cell interface" ;
> RF:units = "m" ;
> double Zu(Zu) ;
> double RU(Zu) ;
> RU:description = "R coordinate of upper interface" ;
> RU:units = "m" ;
> double Zl(Zl) ;
> double RL(Zl) ;
> RL:description = "R coordinate of lower interface" ;
> RL:units = "m" ;
> double drC(Z) ;
> drC:description = "r cell center separation" ;
> double drF(Z) ;
> drF:description = "r cell face separation" ;
> double X(X) ;
> double Y(Y) ;
> double XC(Y, X) ;
> XC:description = "X coordinate of cell center (T-P
> point)" ;
> XC:units = "degree_east" ;
> double YC(Y, X) ;
> YC:description = "Y coordinate of cell center (T-P
> point)" ;
> YC:units = "degree_north" ;
> double Xp1(Xp1) ;
> double Yp1(Yp1) ;
> double XG(Yp1, Xp1) ;
> XG:description = "X coordinate of cell corner
> (Vorticity point)" ;
> XG:units = "degree_east" ;
> double YG(Yp1, Xp1) ;
> YG:description = "Y coordinate of cell corner
> (Vorticity point)" ;
> YG:units = "degree_north" ;
> double dxC(Y, Xp1) ;
> dxC:description = "x cell center separation" ;
> double dyC(Yp1, X) ;
> dyC:description = "y cell center separation" ;
> double dxF(Y, X) ;
> dxF:description = "x cell face separation" ;
> double dyF(Y, X) ;
> dyF:description = "y cell face separation" ;
> double dxG(Yp1, X) ;
> dxG:description = "x cell corner separation" ;
> double dyG(Y, Xp1) ;
> dyG:description = "y cell corner separation" ;
> double dxV(Yp1, Xp1) ;
> dxV:description = "x v-velocity separation" ;
> double dyU(Yp1, Xp1) ;
> dyU:description = "y u-velocity separation" ;
> double rA(Y, X) ;
> rA:description = "r-face area at cell center" ;
> double rAw(Y, Xp1) ;
> rAw:description = "r-face area at U point" ;
> double rAs(Yp1, X) ;
> rAs:description = "r-face area at V point" ;
> double rAz(Yp1, Xp1) ;
> rAz:description = "r-face area at cell corner" ;
> double AngleCS(Y, X) ;
> AngleCS:description = "Cos of grid orientation
> angle at cell center" ;
> double AngleSN(Y, X) ;
> AngleSN:description = "Sin of grid orientation
> angle at cell center" ;
> double fCori(Y, X) ;
> fCori:description = "Coriolis f at cell center" ;
> double fCoriG(Yp1, Xp1) ;
> fCoriG:description = "Coriolis f at cell corner" ;
> double R_low(Y, X) ;
> R_low:description = "base of fluid in r-units" ;
> double Ro_surf(Y, X) ;
> Ro_surf:description = "surface reference (at rest)
> position" ;
> double Depth(Y, X) ;
> Depth:description = "fluid thickness in r
> coordinates (at rest)" ;
> double HFacC(Z, Y, X) ;
> HFacC:description = "vertical fraction of open cell
> at cell center" ;
> double HFacW(Z, Y, Xp1) ;
> HFacW:description = "vertical fraction of open cell
> at West face" ;
> double HFacS(Z, Yp1, X) ;
> HFacS:description = "vertical fraction of open cell
> at South face" ;
>
> // global attributes:
> :MITgcm_version = "checkpoint59m" ;
> :build_user = "mlosch" ;
> :build_host = "sx8" ;
> :build_date = "Wed Jan 30 10:17:08 CET 2008" ;
> :MITgcm_URL = "http://mitgcm.org" ;
> :MITgcm_tag_id = "1.809 2007/05/04" ;
> :MITgcm_mnc_ver = 0.9 ;
> :tile_number = 2 ;
> :bi = 1 ;
> :bj = 1 ;
> :xC0 = 0. ;
> :yC0 = 0. ;
> :sNx = 243 ;
> :sNy = 85 ;
> :OLx = 4 ;
> :OLy = 4 ;
> :nSx = 1 ;
> :nSy = 1 ;
> :nPx = 1 ;
> :nPy = 2 ;
> :Nx = 243 ;
> :Ny = 170 ;
> :Nr = 33 ;
> }
>
> On 30 Jan 2008, at 15:42, Ed Hill wrote:
>
>> On Wed, 30 Jan 2008 14:44:33 +0100 Martin Losch wrote:
>>>
>>> Can you make anything of this?
>>
>>
>> Hi Martin,
>>
>> It sounds like you have a tile-topology issue. The MNC package (and
>> thus all the netcdf output) gets the topology information by either
>> knowing that it is an "EXCH1" grid (where all the tiles are laid
>> out in
>> a simple XY array) or it is an "EXCH2" grid where tile topology is
>> provided by the EXCH2 data structures.
>>
>> If you run "ncdump -h ..." for one of the netcdf files, does it
>> list a
>> number of global attributes that start with and "exch2_" string?
>> If it
>> does, then MNC thinks that you have an EXCH2 topology and that would
>> explain why fields are flipped, etc.
>>
>> Ed
>>
>> --
>> Edward H. Hill III, PhD | ed at eh3.com | http://eh3.com/
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list