[MITgcm-support] netcdf with curvilinear grid

Martin Losch Martin.Losch at awi.de
Wed Jan 30 12:13:08 EST 2008


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/




More information about the MITgcm-support mailing list