pyroms with mercator dataset

Discussion about analysis, visualization, and collaboration tools and techniques

Moderators: arango, robertson

Post Reply
Message
Author
nilodna
Posts: 6
Joined: Thu May 02, 2013 6:38 pm
Location: Oceanographic Institute from University of Sao Pau

pyroms with mercator dataset

#1 Unread post by nilodna »

Hi,

I'm trying to use pyroms to create initial and boundary conditions from Mercator (glorys12v1) dataset and following the examples provided in the pyroms Github repository. However, in the Artic_GLORYS example, a mesh grid is called:

Code: Select all

src_grd = pyroms_toolbox.CGrid_GLORYS.get_nc_CGrid_GLORYS('/archive/u1/uaf/kate/GLORYS/GL2V1_mesh_mask_new.nc', name='GLORYS', area='npolar', ystart=690)
I'm wondering if someone can help me to generate a similar file or, if available, point me in the right direction to download this file.

Thanks in advance.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: pyroms with mercator dataset

#2 Unread post by kate »

The thing is half a GB in size. Can you ask for it from your source of GLORYS files?

nilodna
Posts: 6
Joined: Thu May 02, 2013 6:38 pm
Location: Oceanographic Institute from University of Sao Pau

Re: pyroms with mercator dataset

#3 Unread post by nilodna »

Hi Kate,

I can try that, but I thought there might be a way to create this file.

I tried to create once, but the problem is that glorys12v1 files come only with 'rho-points' coordinates, and my attempt to create u and v grid and use in the interpolation generates a weird field (as in the figure attached for zeta).

Thank you for your help.
Attachments
zeta fields after interpolation
zeta fields after interpolation
pyroms_zeta_error.png (39.33 KiB) Viewed 3292 times

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: pyroms with mercator dataset

#4 Unread post by kate »

Here is the ncdump of the thing:

Code: Select all

chinook02.rcs.alaska.edu 207% ncdump -h GL2V1_mesh_mask_new.nc 
netcdf GL2V1_mesh_mask_new {
dimensions:
	y = 1021 ;
	x = 1442 ;
	z = 75 ;
variables:
	int y(y) ;
		y:axis = "Y" ;
		y:standard_name = "projection_y_coordinate" ;
		y:units = " " ;
	int x(x) ;
		x:axis = "X" ;
		x:standard_name = "projection_x_coordinate" ;
		x:units = " " ;
	double e1t(y, x) ;
		e1t:standard_name = "grid_cell_length_x_t-point_c-grid" ;
		e1t:long_name = "Zonal_scale_factor_at_t_point_for_arakawa_c_grid" ;
		e1t:_FillValue = 9.96920996838687e+36 ;
		e1t:missing_value = 9.96920996838687e+36 ;
		e1t:units = "m" ;
		e1t:coordinates = "nav_lon nav_lat" ;
	double e1u(y, x) ;
		e1u:standard_name = "grid_cell_length_x_u-point_c-grid" ;
		e1u:long_name = "Zonal_scale_factor_at_u_point_for_arakawa_c_grid" ;
		e1u:_FillValue = 9.96920996838687e+36 ;
		e1u:missing_value = 9.96920996838687e+36 ;
		e1u:units = "m" ;
		e1u:coordinates = "nav_lon nav_lat" ;
	double e1v(y, x) ;
		e1v:standard_name = "grid_cell_length_x_v-point_c-grid" ;
		e1v:long_name = "Zonal_scale_factor_at_v_point_for_arakawa_c_grid" ;
		e1v:_FillValue = 9.96920996838687e+36 ;
		e1v:missing_value = 9.96920996838687e+36 ;
		e1v:units = "m" ;
		e1v:coordinates = "nav_lon nav_lat" ;
	double e2t(y, x) ;
		e2t:standard_name = "grid_cell_length_y_t-point_c-grid" ;
		e2t:long_name = "Meridional_scale_factor_at_t_point_for_arakawa_c_grid" ;
		e2t:_FillValue = 9.96920996838687e+36 ;
		e2t:missing_value = 9.96920996838687e+36 ;
		e2t:units = "m" ;
		e2t:coordinates = "nav_lon nav_lat" ;
	double e2u(y, x) ;
		e2u:standard_name = "grid_cell_length_y_u-point_c-grid" ;
		e2u:long_name = "Meridional_scale_factor_at_u_point_for_arakawa_c_grid" ;
		e2u:_FillValue = 9.96920996838687e+36 ;
		e2u:missing_value = 9.96920996838687e+36 ;
		e2u:units = "m" ;
		e2u:coordinates = "nav_lon nav_lat" ;
	double e2v(y, x) ;
		e2v:standard_name = "grid_cell_length_y_v-point_c-grid" ;
		e2v:long_name = "Meridional_scale_factor_at_v_point_for_arakawa_c_grid" ;
		e2v:_FillValue = 9.96920996838687e+36 ;
		e2v:missing_value = 9.96920996838687e+36 ;
		e2v:units = "m" ;
		e2v:coordinates = "nav_lon nav_lat" ;
	double e3t_0(z) ;
		e3t_0:standard_name = "grid_cell_length_z_t-point_c-grid" ;
		e3t_0:long_name = "Vertical_scale_factor_at_t_point_for_arakawa_c_grid" ;
		e3t_0:_FillValue = 9.96920996838687e+36 ;
		e3t_0:missing_value = 9.96920996838687e+36 ;
		e3t_0:units = "m" ;
	double e3t_ps(y, x) ;
		e3t_ps:standard_name = "grid_cell_length_z_t-point_c-grid_partial_cell" ;
		e3t_ps:long_name = "Partial_cell_vertical_scale_factor_at_t_point_for_arakawa_c_grid" ;
		e3t_ps:_FillValue = 9.96920996838687e+36 ;
		e3t_ps:missing_value = 9.96920996838687e+36 ;
		e3t_ps:units = "m" ;
		e3t_ps:coordinates = "nav_lon nav_lat" ;
	double e3w_0(z) ;
		e3w_0:standard_name = "grid_cell_length_z_w-point_c-grid" ;
		e3w_0:long_name = "Vertical_scale_factor_at_w_point_for_arakawa_c_grid" ;
		e3w_0:_FillValue = 9.96920996838687e+36 ;
		e3w_0:missing_value = 9.96920996838687e+36 ;
		e3w_0:units = "m" ;
	double e3w_ps(y, x) ;
		e3w_ps:standard_name = "grid_cell_length_z_w-point_c-grid_partial_cell" ;
		e3w_ps:long_name = "Partial_cell_vertical_scale_factor_at_w_point_for_arakawa_c_grid" ;
		e3w_ps:_FillValue = 9.96920996838687e+36 ;
		e3w_ps:missing_value = 9.96920996838687e+36 ;
		e3w_ps:units = "m" ;
		e3w_ps:coordinates = "nav_lon nav_lat" ;
	double gdept_0(z) ;
		gdept_0:standard_name = "depth_t-point_c-grid" ;
		gdept_0:long_name = "Depth_at_t_point_for_arakawa_c_grid" ;
		gdept_0:_FillValue = 9.96920996838687e+36 ;
		gdept_0:missing_value = 9.96920996838687e+36 ;
		gdept_0:units = "m" ;
	double gdepw_0(z) ;
		gdepw_0:standard_name = "depth_w-point_c-grid" ;
		gdepw_0:long_name = "Depth_at_w_point_for_arakawa_c_grid" ;
		gdepw_0:_FillValue = 9.96920996838687e+36 ;
		gdepw_0:missing_value = 9.96920996838687e+36 ;
		gdepw_0:units = "m" ;
	float glamt(y, x) ;
		glamt:standard_name = "latitude_t-point_c-grid" ;
		glamt:long_name = "Latitude_at_t_point_for_arakawa_c_grid" ;
		glamt:_FillValue = 9.96921e+36f ;
		glamt:missing_value = 9.96921e+36f ;
		glamt:units = "degrees" ;
		glamt:coordinates = "nav_lon nav_lat" ;
	float glamu(y, x) ;
		glamu:standard_name = "latitude_u-point_c-grid" ;
		glamu:long_name = "Latitude_at_u_point_for_arakawa_c_grid" ;
		glamu:_FillValue = 9.96921e+36f ;
		glamu:missing_value = 9.96921e+36f ;
		glamu:units = "degrees" ;
		glamu:coordinates = "nav_lon nav_lat" ;
	float glamv(y, x) ;
		glamv:standard_name = "latitude_v-point_c-grid" ;
		glamv:long_name = "Latitude_at_v_point_for_arakawa_c_grid" ;
		glamv:_FillValue = 9.96921e+36f ;
		glamv:missing_value = 9.96921e+36f ;
		glamv:units = "degrees" ;
		glamv:coordinates = "nav_lon nav_lat" ;
	float gphit(y, x) ;
		gphit:standard_name = "longitude_t-point_c-grid" ;
		gphit:long_name = "Longitude_at_t_point_for_arakawa_c_grid" ;
		gphit:_FillValue = 9.96921e+36f ;
		gphit:missing_value = 9.96921e+36f ;
		gphit:units = "degrees" ;
		gphit:coordinates = "nav_lon nav_lat" ;
	float gphiu(y, x) ;
		gphiu:standard_name = "longitude_u-point_c-grid" ;
		gphiu:long_name = "Longitude_at_u_point_for_arakawa_c_grid" ;
		gphiu:_FillValue = 9.96921e+36f ;
		gphiu:missing_value = 9.96921e+36f ;
		gphiu:units = "degrees" ;
		gphiu:coordinates = "nav_lon nav_lat" ;
	float gphiv(y, x) ;
		gphiv:standard_name = "longitude_v-point_c-grid" ;
		gphiv:long_name = "Longitude_at_v_point_for_arakawa_c_grid" ;
		gphiv:_FillValue = 9.96921e+36f ;
		gphiv:missing_value = 9.96921e+36f ;
		gphiv:units = "degrees" ;
		gphiv:coordinates = "nav_lon nav_lat" ;
	double hdept(y, x) ;
		hdept:standard_name = "depth_pc_t-point_c-grid" ;
		hdept:long_name = "Depth_of_partial_cell_t_point_for_arakawa_c_grid" ;
		hdept:_FillValue = 9.96920996838687e+36 ;
		hdept:missing_value = 9.96920996838687e+36 ;
		hdept:units = "m" ;
		hdept:coordinates = "nav_lon nav_lat" ;
	double hdepw(y, x) ;
		hdepw:standard_name = "depth_pc_w-point_c-grid" ;
		hdepw:long_name = "Depth_of_partial_cell_w_point_for_arakawa_c_grid" ;
		hdepw:_FillValue = 9.96920996838687e+36 ;
		hdepw:missing_value = 9.96920996838687e+36 ;
		hdepw:units = "m" ;
		hdepw:coordinates = "nav_lon nav_lat" ;
	short mbathy(y, x) ;
		mbathy:standard_name = "index_pc_t-point_c-grid" ;
		mbathy:long_name = "Index_of_partial_cell_t_point_for_arakawa_c_grid" ;
		mbathy:valid_min = 0s ;
		mbathy:valid_max = 74s ;
		mbathy:_FillValue = -32767s ;
		mbathy:missing_value = -32767s ;
		mbathy:units = "level" ;
		mbathy:coordinates = "nav_lon nav_lat" ;
	float nav_lat(y, x) ;
		nav_lat:valid_min = -77.0105f ;
		nav_lat:valid_max = 89.8876f ;
		nav_lat:units = "degrees_north" ;
		nav_lat:standard_name = "latitude" ;
		nav_lat:_FillValue = 9.96921e+36f ;
		nav_lat:missing_value = 9.96921e+36f ;
		nav_lat:axis = "Y" ;
	float deptht(z) ;
		deptht:valid_min = 0.50576f ;
		deptht:valid_max = 5902.058f ;
		deptht:units = "m" ;
		deptht:positive = "down" ;
		deptht:_FillValue = 9.96921e+36f ;
		deptht:axis = "Z" ;
		deptht:missing_value = 9.96921e+36f ;
		deptht:standard_name = "depth" ;
	float nav_lon(y, x) ;
		nav_lon:valid_min = -179.75f ;
		nav_lon:valid_max = 180.f ;
		nav_lon:units = "degrees_east" ;
		nav_lon:standard_name = "longitude" ;
		nav_lon:_FillValue = 9.96921e+36f ;
		nav_lon:missing_value = 9.96921e+36f ;
		nav_lon:axis = "X" ;
	byte tmask(z, y, x) ;
		tmask:standard_name = "land_sea_t_mask" ;
		tmask:long_name = "Land_sea_mask_at_t_point_for_arakawa_c_grid" ;
		tmask:_FillValue = -127b ;
		tmask:missing_value = -127b ;
		tmask:units = "1" ;
		tmask:coordinates = "nav_lon nav_lat" ;
	byte tmaskutil(y, x) ;
		tmaskutil:standard_name = "land_sea_t_mask_no_overlap" ;
		tmaskutil:long_name = "Land_sea_mask_at_t_point_without_overlapping_cells_for_arakawa_c_grid" ;
		tmaskutil:_FillValue = -127b ;
		tmaskutil:missing_value = -127b ;
		tmaskutil:units = "1" ;
		tmaskutil:coordinates = "nav_lon nav_lat" ;
	byte umask(z, y, x) ;
		umask:standard_name = "land_sea_u_mask" ;
		umask:long_name = "Land_sea_mask_at_u_point_for_arakawa_c_grid" ;
		umask:_FillValue = -127b ;
		umask:missing_value = -127b ;
		umask:units = "1" ;
		umask:coordinates = "nav_lon nav_lat" ;
	byte umaskutil(y, x) ;
		umaskutil:standard_name = "land_sea_u_mask_no_overlap" ;
		umaskutil:long_name = "Land_sea_mask_at_u_point_without_overlapping_cells_for_arakawa_c_grid" ;
		umaskutil:_FillValue = -127b ;
		umaskutil:missing_value = -127b ;
		umaskutil:units = "1" ;
		umaskutil:coordinates = "nav_lon nav_lat" ;
	byte vmask(z, y, x) ;
		vmask:standard_name = "land_sea_v_mask" ;
		vmask:long_name = "Land_sea_mask_at_v_point_for_arakawa_c_grid" ;
		vmask:_FillValue = -127b ;
		vmask:missing_value = -127b ;
		vmask:units = "1" ;
		vmask:coordinates = "nav_lon nav_lat" ;
	byte vmaskutil(y, x) ;
		vmaskutil:standard_name = "land_sea_v_mask_no_overlap" ;
		vmaskutil:long_name = "Land_sea_mask_at_v_point_without_overlapping_cells_for_arakawa_c_grid" ;
		vmaskutil:_FillValue = -127b ;
		vmaskutil:missing_value = -127b ;
		vmaskutil:units = "1" ;
		vmaskutil:coordinates = "nav_lon nav_lat" ;

// global attributes:
		:convention = "CF1.4" ;
		:title = "Native grid GLORYS2V1 mesh and mask" ;
		:history = "Release February 2011" ;
		:file_name = "GLORYS2V1_ORCA025_R20110216_coordinates.nc" ;
		:institution = "MERCATOR OCEAN" ;
		:source = "MERCATOR GLORYS2V1" ;
		:TimeStamp = "2011-JAN-28 16:36:08 GMT+0100" ;
		:references = "http://www.mercator-ocean.fr" ;
		:comment = " " ;
}

nilodna
Posts: 6
Joined: Thu May 02, 2013 6:38 pm
Location: Oceanographic Institute from University of Sao Pau

Re: pyroms with mercator dataset

#5 Unread post by nilodna »

Thanks, Kate, that will be very helpful.

Post Reply