From 077f289a18b0dd4347e42b82c793f0cdfe2cf436 Mon Sep 17 00:00:00 2001 From: ezhilsabareesh8 Date: Tue, 1 Oct 2024 14:20:52 +1000 Subject: [PATCH 1/3] Fix coordinates and time --- util.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/util.py b/util.py index 442eb41..6fdcfef 100644 --- a/util.py +++ b/util.py @@ -85,12 +85,12 @@ def create_mom_output(ocean_grid, filename, start_date, history): f = nc.Dataset(filename, 'w') - f.createDimension('GRID_X_T', ocean_grid.num_lon_points) - f.createDimension('GRID_Y_T', ocean_grid.num_lat_points) - f.createDimension('ZT', ocean_grid.num_levels) + f.createDimension('lon', ocean_grid.num_lon_points) + f.createDimension('lat', ocean_grid.num_lat_points) + f.createDimension('depth', ocean_grid.num_levels) f.createDimension('time') - lons = f.createVariable('GRID_X_T', 'f8', ('GRID_X_T')) + lons = f.createVariable('lon', 'f8', ('lon')) lons.long_name = 'Nominal Longitude of T-cell center' lons.units = 'degree_east' lons.modulo = 360. @@ -99,7 +99,7 @@ def create_mom_output(ocean_grid, filename, start_date, history): # MOM needs this to be a single dimension lons[:] = ocean_grid.x_t[ocean_grid.x_t.shape[0] // 2, :] - lats = f.createVariable('GRID_Y_T', 'f8', ('GRID_Y_T')) + lats = f.createVariable('lat', 'f8', ('lat')) lats.long_name = 'Nominal Latitude of T-cell center' lats.units = 'degree_north' lats.point_spacing = 'uneven' @@ -108,8 +108,8 @@ def create_mom_output(ocean_grid, filename, start_date, history): col = col_idx_largest_lat(ocean_grid.y_t[:]) lats[:] = ocean_grid.y_t[:, col] - zt = f.createVariable('ZT', 'f8', ('ZT')) - zt.long_name = 'zt' + zt = f.createVariable('depth', 'f8', ('depth')) + zt.long_name = 'depth' zt.units = 'meters' zt.positive = 'down' zt.point_spacing = 'uneven' @@ -118,12 +118,12 @@ def create_mom_output(ocean_grid, filename, start_date, history): time = f.createVariable('time', 'f8', ('time')) time.long_name = 'time' - time.units = "days since {}-{}-{} 00:00:00".format(str(start_date.year).zfill(4), + time.units = "months since {}-{}-{} 00:00:00".format(str(start_date.year).zfill(4), str(start_date.month).zfill(2), str(start_date.day).zfill(2)) time.cartesian_axis = "T" - time.calendar_type = "GREGORIAN" - time.calendar = "GREGORIAN" + time.calendar_type = "noleap" + time.calendar = "noleap" f.close() From 00cee3ce028dbfd64fcff0eadb485d764e473ef3 Mon Sep 17 00:00:00 2001 From: ezhilsabareesh8 Date: Fri, 4 Oct 2024 15:33:55 +1000 Subject: [PATCH 2/3] remove numba --- regrid.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/regrid.py b/regrid.py index 3231579..d55bf31 100755 --- a/regrid.py +++ b/regrid.py @@ -10,7 +10,7 @@ import copy import subprocess as sp import netCDF4 as nc -from scipy import interp +from numpy import interp from scipy import ndimage as nd from .mom_grid import MomGrid @@ -189,8 +189,6 @@ def extend_src_data(src_data, src_grid, global_src_grid, temp_or_salt): return global_src_data - -@numba.jit def apply_weights(src, dest_shape, n_s, n_b, row, col, s): """ Apply ESMF regirdding weights. From 95da76f1c042bd9c412d1c50416d1ec9fd21adaa Mon Sep 17 00:00:00 2001 From: ezhilsabareesh8 Date: Thu, 10 Oct 2024 15:36:09 +1100 Subject: [PATCH 3/3] Change ZT to depth --- util.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/util.py b/util.py index 6fdcfef..e43d36d 100644 --- a/util.py +++ b/util.py @@ -88,7 +88,7 @@ def create_mom_output(ocean_grid, filename, start_date, history): f.createDimension('lon', ocean_grid.num_lon_points) f.createDimension('lat', ocean_grid.num_lat_points) f.createDimension('depth', ocean_grid.num_levels) - f.createDimension('time') + f.createDimension('time', 1) lons = f.createVariable('lon', 'f8', ('lon')) lons.long_name = 'Nominal Longitude of T-cell center' @@ -108,13 +108,13 @@ def create_mom_output(ocean_grid, filename, start_date, history): col = col_idx_largest_lat(ocean_grid.y_t[:]) lats[:] = ocean_grid.y_t[:, col] - zt = f.createVariable('depth', 'f8', ('depth')) - zt.long_name = 'depth' - zt.units = 'meters' - zt.positive = 'down' - zt.point_spacing = 'uneven' - zt.axis = 'Z' - zt[:] = ocean_grid.z[:] + depth = f.createVariable('depth', 'f8', ('depth')) + depth.long_name = 'depth' + depth.units = 'meters' + depth.positive = 'down' + depth.point_spacing = 'uneven' + depth.axis = 'Z' + depth[:] = ocean_grid.z[:] time = f.createVariable('time', 'f8', ('time')) time.long_name = 'time' @@ -133,7 +133,7 @@ def write_mom_output_at_time(filename, var_name, var_longname, var_units, with nc.Dataset(filename, 'r+') as f: if not var_name in f.variables: var = f.createVariable(var_name, 'f8', - ('time', 'ZT', 'GRID_Y_T', 'GRID_X_T'), + ('time', 'depth', 'lat', 'lon'), fill_value=-1.e+34, zlib=True, complevel=5, shuffle=True) var.missing_value = -1.e+34 var.long_name = var_longname