[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