Changeset 6124


Ignore:
Timestamp:
04/27/22 13:58:44 (2 years ago)
Author:
snguyen
Message:

solved bug for some bathymetry files by removing try section and always do except section when renaming y and x at beginning.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TOOLS/MOSAIX/Build_coordinates_mask.py

    r6123 r6124  
    1717__Revision__ = "$Revision$" 
    1818__Id__       = "$Id$" 
    19 __HeadURL__  = "$HeadURL: http://forge.ipsl.jussieu.fr/igcmg/svn/TOOLS/MOSAIX/Build_coordinates_mask.py $" 
     19__HeadURL__  = "$HeadURL: $" 
    2020### 
    2121 
     
    2424parser = argparse.ArgumentParser ( 
    2525    description = """Read coordinates and bathymetry to build masks, grid bounds and areas for MOSAIX""", 
    26     epilog='-------- End of the help message --------') 
     26    epilog='-------- End of the help message --------', 
     27    formatter_class=argparse.ArgumentDefaultsHelpFormatter) 
    2728 
    2829# Adding arguments 
     
    3132parser.add_argument ('--coord'   , help='coordinates file name', type=str, default='coordinates.nc' ) 
    3233parser.add_argument ('--fout'    , help='output file name (given as an input to MOSAIX)', type=str, default='coordinates_mask.nc' ) 
    33 parser.add_argument ('--ocePerio', help='periodicity of ocean grid', type=int, default=0, choices=range(1, 7) ) 
     34parser.add_argument ('--ocePerio', help='periodicity of ocean grid, if not given is imposed according to --model', type=int, default=0, choices=range(1, 7) ) 
    3435parser.add_argument ('--nemo4Ubug',help='reproduce NEMO lbc_lnk bug for U grid and periodicity 4', type=bool, default=False, choices=(True, False) ) 
    3536parser.add_argument ('--straits' , help='modify grid metrics for selected strait points (depends on model name)', type=bool, default=False, choices=(True, False) ) 
     
    99100Bathymetry = f_bathy['Bathymetry'].copy() 
    100101 
    101 try : 
    102     Bathymetry = Bathymetry.rename ({'nav_lat':'nav_lat_grid_T', 'nav_lon':'nav_lon_grid_T'}) 
    103     print ('Bathymetry file: Normal case') 
    104 except :  
    105     print ('Bathymetry file: Exception') 
    106     nav_lon_grid_T = f_bathy ['nav_lon'].data 
    107     nav_lat_grid_T = f_bathy ['nav_lat'].data 
    108     Bathymetry = xr.DataArray (Bathymetry, coords = { "nav_lat_grid_T": (["y", "x"], nav_lat_grid_T), 
    109                                                       "nav_lon_grid_T": (["y", "x"], nav_lon_grid_T) } ) 
     102nav_lon_grid_T = f_bathy['nav_lon'].data 
     103nav_lat_grid_T = f_bathy['nav_lat'].data 
     104Bathymetry = xr.DataArray (Bathymetry, coords = { "nav_lat_grid_T": (["y", "x"], nav_lat_grid_T), 
     105                                                  "nav_lon_grid_T": (["y", "x"], nav_lon_grid_T) } ) 
    110106     
    111107Bathymetry = Bathymetry.rename ({'y':'y_grid_T', 'x':'x_grid_T'}) 
     
    182178# impose or not periodicity on coordinates read from file 
    183179        if coordperio : 
    184             locals()[coord_name] = nemo.lbc (f_coord [dir_name].copy(), nperio=nperio, cd_type=cd_type, nemo_4U_bug=nemoUbug) 
     180            locals()[coord_name] = nemo.lbc (f_coord[dir_name].copy(), nperio=nperio, cd_type=cd_type, nemo_4U_bug=nemoUbug) 
    185181        else : 
    186             locals()[coord_name] = f_coord [dir_name].copy() 
     182            locals()[coord_name] = f_coord[dir_name].copy() 
    187183 
    188184        locals()[coord_name] = locals()[coord_name].rename( {'y':'y_grid_'+cd_type, 'x':'x_grid_'+cd_type} ) 
     
    303299    if cdgrd in ['T', 'W'] :  
    304300        icnr = -1 ; jcnr = -1 
    305         corner_lon = f_coord ['glamf'].copy() ; corner_lat = f_coord ['gphif'].copy() 
    306         center_lon = f_coord ['glamt'].copy() ; center_lat = f_coord ['gphit'].copy() 
     301        corner_lon = f_coord['glamf'].copy() ; corner_lat = f_coord['gphif'].copy() 
     302        center_lon = f_coord['glamt'].copy() ; center_lat = f_coord['gphit'].copy() 
    307303    if cdgrd == 'U'        :  
    308304        icnr =  0 ; jcnr = -1 
    309         corner_lon = f_coord ['glamv'].copy() ; corner_lat = f_coord ['gphiv'].copy() 
    310         center_lon = f_coord ['glamu'].copy() ; center_lat = f_coord ['gphiu'].copy() 
     305        corner_lon = f_coord['glamv'].copy() ; corner_lat = f_coord['gphiv'].copy() 
     306        center_lon = f_coord['glamu'].copy() ; center_lat = f_coord['gphiu'].copy() 
    311307    if cdgrd == 'V'        :  
    312308        icnr = -1 ; jcnr =  0 
    313         corner_lon = f_coord ['glamu'].copy() ; corner_lat = f_coord ['gphiu'].copy() 
    314         center_lon = f_coord ['glamv'].copy() ; center_lat = f_coord ['gphiv'].copy() 
     309        corner_lon = f_coord['glamu'].copy() ; corner_lat = f_coord['gphiu'].copy() 
     310        center_lon = f_coord['glamv'].copy() ; center_lat = f_coord['gphiv'].copy() 
    315311    if cdgrd == 'F'        :  
    316312        icnr = -1 ; jcnr = -1 
    317         corner_lon = f_coord ['glamt'].copy() ; corner_lat = f_coord ['gphit'].copy() 
    318         center_lon = f_coord ['glamf'].copy() ; center_lat = f_coord ['gphif'].copy() 
     313        corner_lon = f_coord['glamt'].copy() ; corner_lat = f_coord['gphit'].copy() 
     314        center_lon = f_coord['glamf'].copy() ; center_lat = f_coord['gphif'].copy() 
    319315       
    320316    jpj, jpi = corner_lon.shape ; 
     
    369365        bounds_lon_tmp = np.roll (bounds_lon, shift=-2, axis=2) 
    370366        bounds_lat_tmp = np.roll (bounds_lat, shift=-2, axis=2) 
    371         bounds_lon [0,:,:] = bounds_lon [0,:,:] 
    372         bounds_lat [0,:,:] = bounds_lat [0,:,:] 
     367        bounds_lon[0,:,:] = bounds_lon[0,:,:] 
     368        bounds_lat[0,:,:] = bounds_lat[0,:,:] 
    373369     
    374370    #bounds_lon.attrs['coordinates'] = 'nav_lat_grid_' + cdgrd + ' nav_lon_grid_' + cdgrd 
Note: See TracChangeset for help on using the changeset viewer.