diff --git a/hermesv3_bu/grids/grid.py b/hermesv3_bu/grids/grid.py index 788ec7c16b374ac49901dedb64a44f3d98e51c08..d00a5f71acbbf9d78789477c21c80543750e3a5c 100755 --- a/hermesv3_bu/grids/grid.py +++ b/hermesv3_bu/grids/grid.py @@ -241,11 +241,16 @@ class Grid(object): def add_cell_area(self): from cdo import Cdo + from netCDF4 import Dataset # spent_time = timeit.default_timer() # Initialises the CDO cdo = Cdo() - cell_area = cdo.gridarea(input=self.netcdf_path, returnArray='cell_area') + # cell_area = cdo.gridarea(input=self.netcdf_path, returnArray='cell_area') + src = cdo.gridarea(input=self.netcdf_path) + netcdf = Dataset(src, mode='r') + cell_area = netcdf.variables['cell_area'][:] + netcdf.close() self.shapefile['cell_area'] = cell_area.flatten() # self.logger.write_time_log('Grid', 'add_cell_area', timeit.default_timer() - spent_time) diff --git a/hermesv3_bu/tools/checker.py b/hermesv3_bu/tools/checker.py index e13b06d219ff43c87e0a81e466773b606c61bcd4..07db83ba8b281f6072c6633a5a90d2527cf99fb5 100644 --- a/hermesv3_bu/tools/checker.py +++ b/hermesv3_bu/tools/checker.py @@ -2,6 +2,7 @@ import os import sys +import time from mpi4py import MPI from warnings import warn @@ -14,13 +15,14 @@ def check_files(file_path_list, warning=False): for file_path in file_path_list: if not os.path.exists(file_path): files_not_found.append(file_path) - + print('CHECKING') if len(files_not_found) > 0: error_message = "*ERROR* (Rank {0}) File/s not found:".format(MPI.COMM_WORLD.Get_rank()) for file_path in files_not_found: error_message += "\n\t{0}".format(file_path) - + print('CHECKED') if warning: + print(error_message.replace('ERROR', 'WARNING')) warn(error_message.replace('ERROR', 'WARNING')) return False else: @@ -31,5 +33,8 @@ def check_files(file_path_list, warning=False): def error_exit(error_message): if not error_message[:7] == "*ERROR*": error_message = "*ERROR* (Rank {0}) ".format(MPI.COMM_WORLD.Get_rank()) + error_message + print(error_message) print(error_message, file=sys.stderr) + sys.stderr.flush() + time.sleep(2) MPI.COMM_WORLD.Abort() diff --git a/hermesv3_bu/writer/monarch_writer.py b/hermesv3_bu/writer/monarch_writer.py index 7097608a97a80d5ce4a646090e63e47678a0a2c3..3e43f0d59dc077d6046a9934b7c7091bba58321a 100755 --- a/hermesv3_bu/writer/monarch_writer.py +++ b/hermesv3_bu/writer/monarch_writer.py @@ -87,8 +87,8 @@ class MonarchWriter(Writer): if self.comm_write.Get_rank() == 0: self.grid.add_cell_area() - cell_area = self.grid.shapefile[['FID', 'cell_area']] - cell_area.set_index('FID', inplace=True) + cell_area = self.grid.shapefile[['cell_area']] + # cell_area.set_index('FID', inplace=True) else: cell_area = None cell_area = self.comm_write.bcast(cell_area, root=0)