From e0c19d0ae3002939e070e4c112bbe59588854050 Mon Sep 17 00:00:00 2001 From: Alba Vilanova Cortezon Date: Fri, 28 Apr 2023 14:24:36 +0200 Subject: [PATCH] Add rotated nested, changes to projection data and new --- nes/create_nes.py | 11 +- nes/nc_projections/__init__.py | 1 + nes/nc_projections/default_nes.py | 33 +- nes/nc_projections/latlon_nes.py | 96 ++- nes/nc_projections/lcc_nes.py | 75 ++- nes/nc_projections/mercator_nes.py | 71 ++- nes/nc_projections/points_nes.py | 44 +- nes/nc_projections/points_nes_ghost.py | 33 +- nes/nc_projections/points_nes_providentia.py | 34 +- nes/nc_projections/rotated_nes.py | 74 ++- nes/nc_projections/rotated_nested_nes.py | 147 +++++ .../1.1.Read_Write_Regular.ipynb | 4 +- .../1.2.Read_Write_Rotated.ipynb | 4 +- .../1.3.Read_Write_Points.ipynb | 582 +++++++++--------- .../1.Introduction/1.4.Read_Write_LCC.ipynb | 4 +- .../1.5.Read_Write_Mercator.ipynb | 4 +- .../1.6.Read_Write_Providentia.ipynb | 528 +++++++++------- tutorials/2.Creation/2.1.Create_Regular.ipynb | 185 +++++- tutorials/2.Creation/2.2.Create_Rotated.ipynb | 240 +++++--- .../2.3.Create_Rotated_Nested.ipynb | 411 +++++++++++++ ...e-Points.ipynb => 2.4.Create_Points.ipynb} | 0 ...=> 2.5.Create_Points_Port_Barcelona.ipynb} | 0 tutorials/2.Creation/2.6.Create-LCC.ipynb | 322 ---------- ...SIC.ipynb => 2.6.Create_Points_CSIC.ipynb} | 0 tutorials/2.Creation/2.7.Create_LCC.ipynb | 308 +++++++++ .../2.Creation/2.7.Create_Mercator.ipynb | 252 -------- tutorials/2.Creation/2.8.Create_Global.ipynb | 154 ----- .../2.Creation/2.8.Create_Mercator.ipynb | 305 +++++++++ tutorials/2.Creation/2.9.Create_Global.ipynb | 299 +++++++++ 29 files changed, 2715 insertions(+), 1506 deletions(-) create mode 100644 nes/nc_projections/rotated_nested_nes.py create mode 100644 tutorials/2.Creation/2.3.Create_Rotated_Nested.ipynb rename tutorials/2.Creation/{2.3.Create-Points.ipynb => 2.4.Create_Points.ipynb} (100%) rename tutorials/2.Creation/{2.4.Create_Points_Port_Barcelona.ipynb => 2.5.Create_Points_Port_Barcelona.ipynb} (100%) delete mode 100644 tutorials/2.Creation/2.6.Create-LCC.ipynb rename tutorials/2.Creation/{2.5.Create_Points_CSIC.ipynb => 2.6.Create_Points_CSIC.ipynb} (100%) create mode 100644 tutorials/2.Creation/2.7.Create_LCC.ipynb delete mode 100644 tutorials/2.Creation/2.7.Create_Mercator.ipynb delete mode 100644 tutorials/2.Creation/2.8.Create_Global.ipynb create mode 100644 tutorials/2.Creation/2.8.Create_Mercator.ipynb create mode 100644 tutorials/2.Creation/2.9.Create_Global.ipynb diff --git a/nes/create_nes.py b/nes/create_nes.py index c10dd67..7444bb5 100644 --- a/nes/create_nes.py +++ b/nes/create_nes.py @@ -34,8 +34,6 @@ def create_nes(comm=None, info=False, projection=None, parallel_method='Y', bala Index of the first level to use. last_level : int, None Index of the last level to use. None if it is the last. - kwargs : - Projection dependent parameters to create it from scratch. """ if comm is None: @@ -66,6 +64,8 @@ def create_nes(comm=None, info=False, projection=None, parallel_method='Y', bala required_vars = ['inc_lat', 'inc_lon'] elif projection == 'rotated': required_vars = ['centre_lat', 'centre_lon', 'west_boundary', 'south_boundary', 'inc_rlat', 'inc_rlon'] + elif projection == 'rotated-nested': + required_vars = ['parent_grid_path', 'parent_ratio', 'i_parent_start', 'j_parent_start', 'n_rlat', 'n_rlon'] elif projection == 'lcc': required_vars = ['lat_1', 'lat_2', 'lon_0', 'lat_0', 'nx', 'ny', 'inc_x', 'inc_y', 'x_0', 'y_0'] elif projection == 'mercator': @@ -106,6 +106,11 @@ def create_nes(comm=None, info=False, projection=None, parallel_method='Y', bala avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, balanced=balanced, create_nes=True, times=times, **kwargs) + elif projection == 'rotated-nested': + nessy = RotatedNestedNes(comm=comm, dataset=None, xarray=False, info=info, parallel_method=parallel_method, + avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, + first_level=first_level, last_level=last_level, balanced=balanced, + create_nes=True, times=times, **kwargs) elif projection == 'lcc': nessy = LCCNes(comm=comm, dataset=None, xarray=False, info=info, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, @@ -139,8 +144,6 @@ def from_shapefile(path, method=None, parallel_method='Y', **kwargs): parallel_method : str Indicates the parallelization method that you want. Default: 'Y'. accepted values: ['X', 'Y', 'T']. - kwargs : - Projection and projection dependent parameters to create it from scratch. """ # Create NES diff --git a/nes/nc_projections/__init__.py b/nes/nc_projections/__init__.py index fc6bc15..d4c4b9f 100644 --- a/nes/nc_projections/__init__.py +++ b/nes/nc_projections/__init__.py @@ -1,6 +1,7 @@ from .default_nes import Nes from .latlon_nes import LatLonNes from .rotated_nes import RotatedNes +from .rotated_nested_nes import RotatedNestedNes from .points_nes import PointsNes from .points_nes_ghost import PointsNesGHOST from .points_nes_providentia import PointsNesProvidentia diff --git a/nes/nc_projections/default_nes.py b/nes/nc_projections/default_nes.py index 9f9d361..15a1d4e 100644 --- a/nes/nc_projections/default_nes.py +++ b/nes/nc_projections/default_nes.py @@ -83,6 +83,10 @@ class Nes(object): Name of the dimensions of the Latitude values. _lon_dim : None or tuple Name of the dimensions of the Longitude values. + projection : pyproj.Proj + Grid projection. + projection_data : dict + Dictionary with the projection information. """ def __init__(self, comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, @@ -105,9 +109,6 @@ class Nes(object): parallel_method : str Indicates the parallelization method that you want. Default over Y axis accepted values: ['X', 'Y', 'T']. - balanced : bool - Indicates if you want a balanced parallelization or not. - Balanced dataset cannot be written in chunking mode. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int @@ -118,10 +119,11 @@ class Nes(object): Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. times : List[datetime] or None List of times to substitute the current ones while creation. - kwargs : - Projection dependent parameters to create it from scratch """ # MPI Initialization @@ -275,8 +277,9 @@ class Nes(object): self.first_level = None @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create_nes=False, balanced=False, - parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -292,27 +295,29 @@ class Nes(object): NetCDF4-python Dataset to initialize the class. xarray: bool (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default over Y axis + accepted values: ['X', 'Y', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default over Y axis - accepted values: ['X', 'Y', 'T']. - balanced : bool - Indicates if you want a balanced parallelization or not. - Balanced dataset cannot be written in chunking mode. first_level : int Index of the first level to use. last_level : int or None Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : List[datetime] or None + List of times to substitute the current ones while creation. """ new = Nes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, first_level=first_level, - last_level=last_level, create=create_nes, balanced=balanced) + last_level=last_level, create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new diff --git a/nes/nc_projections/latlon_nes.py b/nes/nc_projections/latlon_nes.py index 43a37a8..2f957d4 100644 --- a/nes/nc_projections/latlon_nes.py +++ b/nes/nc_projections/latlon_nes.py @@ -45,6 +45,17 @@ class LatLonNes(Nes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ super(LatLonNes, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -68,8 +79,9 @@ class LatLonNes(Nes): self.free_vars('crs') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create=False, balanced=False, - parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -85,18 +97,30 @@ class LatLonNes(Nes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'Y'. + Accepted values: ['X', 'Y', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default: 'Y'. - Accepted values: ['X', 'Y', 'T']. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ - new = LatLonNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, - parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + new = LatLonNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, + parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new @@ -126,8 +150,8 @@ class LatLonNes(Nes): self.free_vars('crs') else: projection_data = {'grid_mapping_name': 'latitude_longitude', - 'semi_major_axis': str(self.earth_radius[1]), - 'inverse_flattening': str(0), + 'semi_major_axis': self.earth_radius[1], + 'inverse_flattening': 0, } if 'dtype' in projection_data.keys(): @@ -150,10 +174,25 @@ class LatLonNes(Nes): """ projection_data = {'grid_mapping_name': 'latitude_longitude', - 'semi_major_axis': str(self.earth_radius[1]), - 'inverse_flattening': str(0), + 'semi_major_axis': self.earth_radius[1], + 'inverse_flattening': 0, + 'inc_lat': kwargs['inc_lat'], + 'inc_lon': kwargs['inc_lon'], } + # Global domain + if len(kwargs) == 2: + projection_data['lat_orig'] = -90 + projection_data['lon_orig'] = -180 + projection_data['n_lat'] = int(180 // np.float64(projection_data['inc_lat'])) + projection_data['n_lon'] = int(360 // np.float64(projection_data['inc_lon'])) + # Other domains + else: + projection_data['lat_orig'] = kwargs['lat_orig'] + projection_data['lon_orig'] = kwargs['lon_orig'] + projection_data['n_lat'] = kwargs['n_lat'] + projection_data['n_lon'] = kwargs['n_lon'] + self.projection_data = projection_data self.projection = self._get_pyproj_projection() @@ -189,30 +228,29 @@ class LatLonNes(Nes): Dictionary with data of centre longitudes in 1D """ - inc_lat = kwargs['inc_lat'] - inc_lon = kwargs['inc_lon'] + # Get grid resolution + inc_lat = np.float64(self.projection_data['inc_lat']) + inc_lon = np.float64(self.projection_data['inc_lon']) - # Global domain - if len(kwargs) == 2: - lat_orig = -90 - lon_orig = -180 - n_lat = int(180 // inc_lat) - n_lon = int(360 // inc_lon) - - # Other domains - else: - lat_orig = kwargs['lat_orig'] - lon_orig = kwargs['lon_orig'] - n_lat = kwargs['n_lat'] - n_lon = kwargs['n_lon'] + # Get coordinates origen + lat_orig = np.float64(self.projection_data['lat_orig']) + lon_orig = np.float64(self.projection_data['lon_orig']) + + # Get number of coordinates + n_lat = int(self.projection_data['n_lat']) + n_lon = int(self.projection_data['n_lon']) # Calculate centre latitudes lat_c_orig = lat_orig + (inc_lat / 2) - centre_lat = np.linspace(lat_c_orig, lat_c_orig + (inc_lat * (n_lat - 1)), n_lat) + centre_lat = np.linspace(lat_c_orig, + lat_c_orig + (inc_lat * (n_lat - 1)), + n_lat, dtype=np.float64) # Calculate centre longitudes lon_c_orig = lon_orig + (inc_lon / 2) - centre_lon = np.linspace(lon_c_orig, lon_c_orig + (inc_lon * (n_lon - 1)), n_lon) + centre_lon = np.linspace(lon_c_orig, + lon_c_orig + (inc_lon * (n_lon - 1)), + n_lon, dtype=np.float64) return {'data': centre_lat}, {'data': centre_lon} diff --git a/nes/nc_projections/lcc_nes.py b/nes/nc_projections/lcc_nes.py index cf48cad..7806952 100644 --- a/nes/nc_projections/lcc_nes.py +++ b/nes/nc_projections/lcc_nes.py @@ -60,6 +60,17 @@ class LCCNes(Nes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ super(LCCNes, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -91,8 +102,9 @@ class LCCNes(Nes): self.free_vars('crs') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create=False, balanced=False, - parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -108,18 +120,30 @@ class LCCNes(Nes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'Y'. + Accepted values: ['X', 'Y', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default: 'Y'. - Accepted values: ['X', 'Y', 'T']. - """ - - new = LCCNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. + """ + + new = LCCNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new @@ -207,9 +231,12 @@ class LCCNes(Nes): """ projection_data = {'grid_mapping_name': 'lambert_conformal_conic', - 'standard_parallel': [str(kwargs['lat_1']), str(kwargs['lat_2'])], - 'longitude_of_central_meridian': str(kwargs['lon_0']), - 'latitude_of_projection_origin': str(kwargs['lat_0']), + 'standard_parallel': [kwargs['lat_1'], kwargs['lat_2']], + 'longitude_of_central_meridian': kwargs['lon_0'], + 'latitude_of_projection_origin': kwargs['lat_0'], + 'x_0': kwargs['x_0'], 'y_0': kwargs['y_0'], + 'inc_x': kwargs['inc_x'], 'inc_y': kwargs['inc_y'], + 'nx': kwargs['nx'], 'ny': kwargs['ny'], } self.projection_data = projection_data @@ -287,15 +314,23 @@ class LCCNes(Nes): NetCDF object. """ + # Get projection details on x + x_0 = np.float64(self.projection_data['x_0']) + inc_x = np.float64(self.projection_data['inc_x']) + nx = int(self.projection_data['nx']) + + # Get projection details on y + y_0 = np.float64(self.projection_data['y_0']) + inc_y = np.float64(self.projection_data['inc_y']) + ny = int(self.projection_data['ny']) + # Create a regular grid in metres (1D) - self._x = {'data': np.linspace(kwargs['x_0'] + (kwargs['inc_x'] / 2), - kwargs['x_0'] + (kwargs['inc_x'] / 2) + - (kwargs['inc_x'] * (kwargs['nx'] - 1)), kwargs['nx'], - dtype=np.float64)} - self._y = {'data': np.linspace(kwargs['y_0'] + (kwargs['inc_y'] / 2), - kwargs['y_0'] + (kwargs['inc_y'] / 2) + - (kwargs['inc_y'] * (kwargs['ny'] - 1)), kwargs['ny'], - dtype=np.float64)} + self._x = {'data': np.linspace(x_0 + (inc_x / 2), + x_0 + (inc_x / 2) + (inc_x * (nx - 1)), + nx, dtype=np.float64)} + self._y = {'data': np.linspace(y_0 + (inc_y / 2), + y_0 + (inc_y / 2) + (inc_y * (ny - 1)), + ny, dtype=np.float64)} # Create a regular grid in metres (1D to 2D) x = np.array([self._x['data']] * len(self._y['data'])) diff --git a/nes/nc_projections/mercator_nes.py b/nes/nc_projections/mercator_nes.py index 3b74b39..b9030cc 100644 --- a/nes/nc_projections/mercator_nes.py +++ b/nes/nc_projections/mercator_nes.py @@ -60,6 +60,17 @@ class MercatorNes(Nes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + times : list, None + List of times to substitute the current ones while creation. """ super(MercatorNes, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -91,8 +102,9 @@ class MercatorNes(Nes): self.free_vars('crs') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create=False, balanced=False, - parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -108,18 +120,30 @@ class MercatorNes(Nes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'Y'. + Accepted values: ['X', 'Y', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default: 'Y'. - Accepted values: ['X', 'Y', 'T']. - """ - - new = MercatorNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. + """ + + new = MercatorNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new @@ -192,8 +216,11 @@ class MercatorNes(Nes): """ projection_data = {'grid_mapping_name': 'mercator', - 'standard_parallel': str(kwargs['lat_ts']), # TODO: Check if True + 'standard_parallel': kwargs['lat_ts'], # TODO: Check if True 'longitude_of_projection_origin': kwargs['lon_0'], + 'x_0': kwargs['x_0'], 'y_0': kwargs['y_0'], + 'inc_x': kwargs['inc_x'], 'inc_y': kwargs['inc_y'], + 'nx': kwargs['nx'], 'ny': kwargs['ny'], } self.projection_data = projection_data @@ -266,17 +293,23 @@ class MercatorNes(Nes): Calculate centre latitudes and longitudes from grid details. """ - # Create a regular grid in metres (1D) - self._x = {'data': np.linspace(kwargs['x_0'] + (kwargs['inc_x'] / 2), - kwargs['x_0'] + (kwargs['inc_x'] / 2) + - (kwargs['inc_x'] * (kwargs['nx'] - 1)), kwargs['nx'], - dtype=np.float64)} + # Get projection details on x + x_0 = np.float64(self.projection_data['x_0']) + inc_x = np.float64(self.projection_data['inc_x']) + nx = int(self.projection_data['nx']) + # Get projection details on y + y_0 = np.float64(self.projection_data['y_0']) + inc_y = np.float64(self.projection_data['inc_y']) + ny = int(self.projection_data['ny']) - self._y = {'data': np.linspace(kwargs['y_0'] + (kwargs['inc_y'] / 2), - kwargs['y_0'] + (kwargs['inc_y'] / 2) + - (kwargs['inc_y'] * (kwargs['ny'] - 1)), kwargs['ny'], - dtype=np.float64)} + # Create a regular grid in metres (1D) + self._x = {'data': np.linspace(x_0 + (inc_x / 2), + x_0 + (inc_x / 2) + (inc_x * (nx - 1)), + nx, dtype=np.float64)} + self._y = {'data': np.linspace(y_0 + (inc_y / 2), + y_0 + (inc_y / 2) + (inc_y * (ny - 1)), + ny, dtype=np.float64)} # Create a regular grid in metres (1D to 2D) x = np.array([self._x['data']] * len(self._y['data'])) diff --git a/nes/nc_projections/points_nes.py b/nes/nc_projections/points_nes.py index 40bec4d..ec77c04 100644 --- a/nes/nc_projections/points_nes.py +++ b/nes/nc_projections/points_nes.py @@ -30,7 +30,7 @@ class PointsNes(Nes): """ def __init__(self, comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, - times=None, **kwargs): + balanced=False, times=None, **kwargs): """ Initialize the PointsNes class. @@ -55,6 +55,17 @@ class PointsNes(Nes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ super(PointsNes, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -82,8 +93,9 @@ class PointsNes(Nes): self._lon_dim = ('station',) @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create=False, balanced=False, - parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, + create_nes=False, balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -99,18 +111,30 @@ class PointsNes(Nes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'X'. + accepted values: ['X', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default: 'X'. - accepted values: ['X', 'T']. - """ - - new = PointsNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. + """ + + new = PointsNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new diff --git a/nes/nc_projections/points_nes_ghost.py b/nes/nc_projections/points_nes_ghost.py index ad2e80f..567abe0 100644 --- a/nes/nc_projections/points_nes_ghost.py +++ b/nes/nc_projections/points_nes_ghost.py @@ -27,7 +27,7 @@ class PointsNesGHOST(PointsNes): def __init__(self, comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, - times=None, **kwargs): + balanced=False, times=None, **kwargs): """ Initialize the PointsNesGHOST class. @@ -50,19 +50,17 @@ class PointsNesGHOST(PointsNes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - balanced : bool - Indicates if you want a balanced parallelization or not. - Balanced dataset cannot be written in chunking mode. first_level : int Index of the first level to use. last_level : int, None Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. times : list, None List of times to substitute the current ones while creation. - kwargs : - Projection dependent parameters to create it from scratch. """ super(PointsNesGHOST, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -80,8 +78,9 @@ class PointsNesGHOST(PointsNes): self.qa = self._get_coordinate_values(self._qa, 'X') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create_nes=False, balanced=False, - parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): """ Initialize the PointsNesGHOST class. @@ -97,16 +96,9 @@ class PointsNesGHOST(PointsNes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. - avoid_first_hours : int - Number of hours to remove from first time steps. - avoid_last_hours : int - Number of hours to remove from last time steps. parallel_method : str Indicates the parallelization method that you want. Default: 'X'. Accepted values: ['X']. - balanced : bool - Indicates if you want a balanced parallelization or not. - Balanced dataset cannot be written in chunking mode. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int @@ -117,12 +109,17 @@ class PointsNesGHOST(PointsNes): Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. - + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ - new = PointsNesGHOST(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + new = PointsNesGHOST(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new diff --git a/nes/nc_projections/points_nes_providentia.py b/nes/nc_projections/points_nes_providentia.py index 6326ea1..9593b7f 100644 --- a/nes/nc_projections/points_nes_providentia.py +++ b/nes/nc_projections/points_nes_providentia.py @@ -36,7 +36,7 @@ class PointsNesProvidentia(PointsNes): """ def __init__(self, comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, - times=None, model_centre_lon=None, model_centre_lat=None, grid_edge_lon=None, grid_edge_lat=None, + balanced=False, times=None, model_centre_lon=None, model_centre_lat=None, grid_edge_lon=None, grid_edge_lat=None, **kwargs): """ Initialize the PointsNesProvidentia class @@ -60,15 +60,15 @@ class PointsNesProvidentia(PointsNes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - balanced : bool - Indicates if you want a balanced parallelization or not. - Balanced dataset cannot be written in chunking mode. first_level : int Index of the first level to use. last_level : int, None Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. times : list, None List of times to substitute the current ones while creation. model_centre_lon : dict @@ -79,8 +79,6 @@ class PointsNesProvidentia(PointsNes): Grid edge longitudes dictionary with the portion of 'data' corresponding to the rank values. grid_edge_lat : dict Grid edge latitudes dictionary with the portion of 'data' corresponding to the rank values. - kwargs : - Projection dependent parameters to create it from scratch. """ super(PointsNesProvidentia, self).__init__(comm=comm, path=path, info=info, dataset=dataset, @@ -110,9 +108,11 @@ class PointsNesProvidentia(PointsNes): self.grid_edge_lat = self._get_coordinate_values(self._grid_edge_lat, '') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create_nes=False, balanced=False, - parallel_method='X', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, - model_centre_lon=None, model_centre_lat=None, grid_edge_lon=None, grid_edge_lat=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='X', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, + create_nes=False, balanced=False, times=None, + model_centre_lon=None, model_centre_lat=None, grid_edge_lon=None, grid_edge_lat=None, + **kwargs): """ Initialize the PointsNesProvidentia class. @@ -128,15 +128,9 @@ class PointsNesProvidentia(PointsNes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. - avoid_first_hours : int - Number of hours to remove from first time steps. - avoid_last_hours : int - Number of hours to remove from last time steps. parallel_method : str Indicates the parallelization method that you want. Default: 'X'. Accepted values: ['X']. - balanced : bool - Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int @@ -147,6 +141,11 @@ class PointsNesProvidentia(PointsNes): Index of the last level to use. None if it is the last. create_nes : bool Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. model_centre_lon : dict Model centre longitudes dictionary with the portion of 'data' corresponding to the rank values. model_centre_lat : dict @@ -157,11 +156,12 @@ class PointsNesProvidentia(PointsNes): Grid edge latitudes dictionary with the portion of 'data' corresponding to the rank values. """ - new = PointsNesProvidentia(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + new = PointsNesProvidentia(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, model_centre_lon=model_centre_lon, model_centre_lat=model_centre_lat, - grid_edge_lon=grid_edge_lon, grid_edge_lat=grid_edge_lat) + grid_edge_lon=grid_edge_lon, grid_edge_lat=grid_edge_lat, **kwargs) return new diff --git a/nes/nc_projections/rotated_nes.py b/nes/nc_projections/rotated_nes.py index 3cd6f99..42523c0 100644 --- a/nes/nc_projections/rotated_nes.py +++ b/nes/nc_projections/rotated_nes.py @@ -26,9 +26,6 @@ class RotatedNes(Nes): Rotated latitudes dictionary with the portion of 'data' corresponding to the rank values. rlon : dict Rotated longitudes dictionary with the portion of 'data' corresponding to the rank values. - projection_data : dict - Dictionary with the projection information. - 'grid_north_pole_latitude' and 'grid_north_pole_longitude' keys. _var_dim : tuple Tuple with the name of the Y and X dimensions for the variables. ('rlat', 'rlon') for a rotated projection. @@ -64,6 +61,17 @@ class RotatedNes(Nes): Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ super(RotatedNes, self).__init__(comm=comm, path=path, @@ -94,8 +102,9 @@ class RotatedNes(Nes): self._lon_dim = ('rlat', 'rlon') @staticmethod - def new(comm=None, path=None, info=False, dataset=None, xarray=False, create=False, balanced=False, - parallel_method='Y', avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None): + def new(comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, + create_nes=False, balanced=False, times=None, **kwargs): """ Initialize the Nes class. @@ -111,18 +120,26 @@ class RotatedNes(Nes): NetCDF4-python Dataset to initialize the class. xarray: bool: (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'Y'. + Accepted values: ['X', 'Y', 'T']. avoid_first_hours : int Number of hours to remove from first time steps. avoid_last_hours : int Number of hours to remove from last time steps. - parallel_method : str - Indicates the parallelization method that you want. Default: 'Y'. - Accepted values: ['X', 'Y', 'T']. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. """ - new = RotatedNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, balanced=balanced, + new = RotatedNes(comm=comm, path=path, info=info, dataset=dataset, xarray=xarray, parallel_method=parallel_method, avoid_first_hours=avoid_first_hours, - avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level) + avoid_last_hours=avoid_last_hours, first_level=first_level, last_level=last_level, + create_nes=create_nes, balanced=balanced, times=times, **kwargs) return new def filter_coordinates_selection(self): @@ -196,6 +213,10 @@ class RotatedNes(Nes): projection_data = {'grid_mapping_name': 'rotated_latitude_longitude', 'grid_north_pole_latitude': 90 - kwargs['centre_lat'], 'grid_north_pole_longitude': -180 + kwargs['centre_lon'], + 'inc_rlat': kwargs['inc_rlat'], + 'inc_rlon': kwargs['inc_rlon'], + 'south_boundary': kwargs['south_boundary'], + 'west_boundary': kwargs['west_boundary'], } self.projection_data = projection_data @@ -264,7 +285,7 @@ class RotatedNes(Nes): return None - def _create_rotated_coordinates(self, **kwargs): + def _create_rotated_coordinates(self): """ Calculate rotated latitudes and longitudes from grid details. @@ -275,20 +296,30 @@ class RotatedNes(Nes): _rlon : dict Rotated longitudes dictionary with the complete 'data' key for all the values and the rest of the attributes. """ + + # Get grid resolution + inc_rlon = np.float64(self.projection_data['inc_rlon']) + inc_rlat = np.float64(self.projection_data['inc_rlat']) + + # Get south and west boundaries + south_boundary = np.float64(self.projection_data['south_boundary']) + west_boundary = np.float64(self.projection_data['west_boundary']) # Calculate rotated latitudes - n_lat = int((abs(kwargs['south_boundary']) / kwargs['inc_rlat']) * 2 + 1) - rlat = np.linspace(kwargs['south_boundary'], kwargs['south_boundary'] + - (kwargs['inc_rlat'] * (n_lat - 1)), n_lat) + n_lat = int((abs(south_boundary) / inc_rlat) * 2 + 1) + rlat = np.linspace(south_boundary, + south_boundary + (inc_rlat * (n_lat - 1)), + n_lat, dtype=np.float64) # Calculate rotated longitudes - n_lon = int((abs(kwargs['west_boundary']) / kwargs['inc_rlon']) * 2 + 1) - rlon = np.linspace(kwargs['west_boundary'], kwargs['west_boundary'] + - (kwargs['inc_rlon'] * (n_lon - 1)), n_lon) + n_lon = int((abs(west_boundary) / inc_rlon) * 2 + 1) + rlon = np.linspace(west_boundary, + west_boundary + (inc_rlon * (n_lon - 1)), + n_lon, dtype=np.float64) return {'data': rlat}, {'data': rlon} - def rotated2latlon(self, lon_deg, lat_deg, lon_min=-180, **kwargs): + def rotated2latlon(self, lon_deg, lat_deg, lon_min=-180): """ Calculate the unrotated coordinates using the rotated ones. @@ -357,12 +388,11 @@ class RotatedNes(Nes): """ # Complete dimensions - self._rlat, self._rlon = self._create_rotated_coordinates(**kwargs) + self._rlat, self._rlon = self._create_rotated_coordinates() # Calculate centre latitudes and longitudes (1D to 2D) centre_lon, centre_lat = self.rotated2latlon(np.array([self._rlon['data']] * len(self._rlat['data'])), - np.array([self._rlat['data']] * len(self._rlon['data'])).T, - **kwargs) + np.array([self._rlat['data']] * len(self._rlon['data'])).T) return {'data': centre_lat}, {'data': centre_lon} @@ -477,7 +507,7 @@ class RotatedNes(Nes): """ var.grid_mapping = 'rotated_pole' - var.coordinates = "lat lon" + var.coordinates = 'lat lon' return None diff --git a/nes/nc_projections/rotated_nested_nes.py b/nes/nc_projections/rotated_nested_nes.py new file mode 100644 index 0000000..e56f427 --- /dev/null +++ b/nes/nc_projections/rotated_nested_nes.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python + +import numpy as np +from netCDF4 import Dataset +from .rotated_nes import RotatedNes + +class RotatedNestedNes(RotatedNes): + + def __init__(self, comm=None, path=None, info=False, dataset=None, xarray=False, parallel_method='Y', + avoid_first_hours=0, avoid_last_hours=0, first_level=0, last_level=None, create_nes=False, + balanced=False, times=None, **kwargs): + """ + Initialize the RotatedNestedNes class. + + Parameters + ---------- + comm: MPI.COMM + MPI Communicator. + path: str + Path to the NetCDF to initialize the object. + info: bool + Indicates if you want to get reading/writing info. + dataset: Dataset + NetCDF4-python Dataset to initialize the class. + xarray: bool: + (Not working) Indicates if you want to use xarray as default. + parallel_method : str + Indicates the parallelization method that you want. Default: 'Y'. + Accepted values: ['X', 'Y', 'T']. + avoid_first_hours : int + Number of hours to remove from first time steps. + avoid_last_hours : int + Number of hours to remove from last time steps. + first_level : int + Index of the first level to use. + last_level : int, None + Index of the last level to use. None if it is the last. + create_nes : bool + Indicates if you want to create the object from scratch (True) or through an existing file. + balanced : bool + Indicates if you want a balanced parallelization or not. + Balanced dataset cannot be written in chunking mode. + times : list, None + List of times to substitute the current ones while creation. + """ + + super(RotatedNestedNes, self).__init__(comm=comm, path=path, + info=info, dataset=dataset, balanced=balanced, + xarray=xarray, parallel_method=parallel_method, + avoid_first_hours=avoid_first_hours, avoid_last_hours=avoid_last_hours, + first_level=first_level, last_level=last_level, create_nes=create_nes, + times=times, **kwargs) + + @staticmethod + def _get_parent_attributes(projection_data): + """ + Get projection attributes from parent grid. + + Parameters + ---------- + projection_data : dict + Dictionary with the projection information. + + Returns + ------- + projection_data : dict + Dictionary with the projection information, including parameters from the parent grid. + """ + + # Read variables from parent grid + netcdf = Dataset(projection_data['parent_grid_path'], mode='r') + rlat = netcdf.variables['rlat'][:] + rlon = netcdf.variables['rlon'][:] + rotated_pole = netcdf.variables['rotated_pole'] + + # j_parent_start starts at index 1 so we must subtract 1 + projection_data['inc_rlat'] = (rlat[1] - rlat[0]) / projection_data['parent_ratio'] + projection_data['1st_rlat'] = rlat[int(projection_data['j_parent_start']) - 1] + + # i_parent_start starts at index 1 so we must subtract 1 + projection_data['inc_rlon'] = (rlon[1] - rlon[0]) / projection_data['parent_ratio'] + projection_data['1st_rlon'] = rlon[int(projection_data['i_parent_start']) - 1] + + projection_data['grid_north_pole_longitude'] = rotated_pole.grid_north_pole_longitude + projection_data['grid_north_pole_latitude'] = rotated_pole.grid_north_pole_latitude + + netcdf.close() + + return projection_data + + def _create_projection(self, **kwargs): + """ + Create 'projection' and 'projection_data' from projection arguments. + """ + + projection_data = {'grid_mapping_name': "", # TODO: Add name + 'parent_grid_path': kwargs['parent_grid_path'], + 'parent_ratio': kwargs['parent_ratio'], + 'i_parent_start': kwargs['i_parent_start'], + 'j_parent_start': kwargs['j_parent_start'], + 'n_rlat': kwargs['n_rlat'], + 'n_rlon': kwargs['n_rlon'] + } + + projection_data = self._get_parent_attributes(projection_data) + + self.projection_data = projection_data + self.projection = self._get_pyproj_projection() + + return None + + def _create_rotated_coordinates(self): + """ + Calculate rotated latitudes and longitudes from grid details. + + Returns + ---------- + _rlat : dict + Rotated latitudes dictionary with the complete 'data' key for all the values and the rest of the attributes. + _rlon : dict + Rotated longitudes dictionary with the complete 'data' key for all the values and the rest of the attributes. + """ + + # Get grid resolution + inc_rlon = self.projection_data['inc_rlon'] + inc_rlat = self.projection_data['inc_rlat'] + + # Get number of rotated coordinates + n_rlat = self.projection_data['n_rlat'] + n_rlon = self.projection_data['n_rlon'] + + # Get first coordinates + first_rlat = self.projection_data['1st_rlat'] + first_rlon = self.projection_data['1st_rlon'] + + # Calculate rotated latitudes + rlat = np.linspace(first_rlat, + first_rlat + (inc_rlat * (n_rlat - 1)), + n_rlat, dtype=np.float64) + + # Calculate rotated longitudes + rlon = np.linspace(first_rlon, + first_rlon + (inc_rlon * (n_rlon - 1)), + n_rlon, dtype=np.float64) + + return {'data': rlat}, {'data': rlon} + \ No newline at end of file diff --git a/tutorials/1.Introduction/1.1.Read_Write_Regular.ipynb b/tutorials/1.Introduction/1.1.Read_Write_Regular.ipynb index 9383899..22ffc1d 100644 --- a/tutorials/1.Introduction/1.1.Read_Write_Regular.ipynb +++ b/tutorials/1.Introduction/1.1.Read_Write_Regular.ipynb @@ -42,7 +42,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -479,7 +479,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 14, diff --git a/tutorials/1.Introduction/1.2.Read_Write_Rotated.ipynb b/tutorials/1.Introduction/1.2.Read_Write_Rotated.ipynb index b761342..af540a2 100644 --- a/tutorials/1.Introduction/1.2.Read_Write_Rotated.ipynb +++ b/tutorials/1.Introduction/1.2.Read_Write_Rotated.ipynb @@ -42,7 +42,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -405,7 +405,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 13, diff --git a/tutorials/1.Introduction/1.3.Read_Write_Points.ipynb b/tutorials/1.Introduction/1.3.Read_Write_Points.ipynb index af55f33..763682f 100644 --- a/tutorials/1.Introduction/1.3.Read_Write_Points.ipynb +++ b/tutorials/1.Introduction/1.3.Read_Write_Points.ipynb @@ -49,7 +49,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -635,11 +635,27 @@ "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_start_date. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_start_date. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_zone. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_zone. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable country_code. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable ccaa. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_area. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_emep. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -659,43 +675,7 @@ "Rank 000: Var station_zone created (2/17)\n", "Rank 000: Filling station_zone)\n", "Rank 000: Var station_zone data (2/17)\n", - "Rank 000: Var station_zone completed (2/17)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable country_code. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable ccaa. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_area. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_emep. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_type. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_code. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_end_date. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_rural_back. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:337: UserWarning: WARNING!!! Different data types for variable station_ozone_classification. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Rank 000: Var station_zone completed (2/17)\n", "Rank 000: Writing street_type var (3/17)\n", "Rank 000: Var street_type created (3/17)\n", "Rank 000: Filling street_type)\n", @@ -743,7 +723,27 @@ "Rank 000: Var station_type completed (11/17)\n", "Rank 000: Writing country var (12/17)\n", "Rank 000: Var country created (12/17)\n", - "Rank 000: Filling country)\n", + "Rank 000: Filling country)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_code. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_end_date. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_rural_back. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes.py:361: UserWarning: WARNING!!! Different data types for variable station_ozone_classification. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var country data (12/17)\n", "Rank 000: Var country completed (12/17)\n", "Rank 000: Writing altitude var (13/17)\n", @@ -795,7 +795,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -843,7 +843,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -1012,7 +1012,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/default_nes.py:2049: UserWarning: Data missing values cannot be converted to np.nan.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/default_nes.py:2054: UserWarning: Data missing values cannot be converted to np.nan.\n", " warnings.warn(msg)\n" ] }, @@ -1389,23 +1389,19 @@ "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_Iwahashi_landform_classification. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_Meybeck_landform_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_Iwahashi_landform_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_Meybeck_landform_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHOST_version. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_25km. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHOST_version. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -1543,106 +1539,64 @@ "Rank 000: Var GHSL_built_up_area_density completed (25/173)\n", "Rank 000: Writing GHSL_max_built_up_area_density_25km var (26/173)\n", "Rank 000: Var GHSL_max_built_up_area_density_25km created (26/173)\n", - "Rank 000: Filling GHSL_max_built_up_area_density_25km)\n", - "Rank 000: Var GHSL_max_built_up_area_density_25km data (26/173)\n", - "Rank 000: Var GHSL_max_built_up_area_density_25km completed (26/173)\n", - "Rank 000: Writing GHSL_max_built_up_area_density_5km var (27/173)\n", - "Rank 000: Var GHSL_max_built_up_area_density_5km created (27/173)\n", - "Rank 000: Filling GHSL_max_built_up_area_density_5km)\n", - "Rank 000: Var GHSL_max_built_up_area_density_5km data (27/173)\n", - "Rank 000: Var GHSL_max_built_up_area_density_5km completed (27/173)\n", - "Rank 000: Writing GHSL_max_population_density_25km var (28/173)\n", - "Rank 000: Var GHSL_max_population_density_25km created (28/173)\n", - "Rank 000: Filling GHSL_max_population_density_25km)\n", - "Rank 000: Var GHSL_max_population_density_25km data (28/173)\n", - "Rank 000: Var GHSL_max_population_density_25km completed (28/173)\n", - "Rank 000: Writing GHSL_max_population_density_5km var (29/173)\n", - "Rank 000: Var GHSL_max_population_density_5km created (29/173)\n", - "Rank 000: Filling GHSL_max_population_density_5km)\n", - "Rank 000: Var GHSL_max_population_density_5km data (29/173)\n", - "Rank 000: Var GHSL_max_population_density_5km completed (29/173)\n", - "Rank 000: Writing GHSL_modal_settlement_model_classification_25km var (30/173)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_25km created (30/173)\n", - "Rank 000: Filling GHSL_modal_settlement_model_classification_25km)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_25km data (30/173)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_25km completed (30/173)\n", - "Rank 000: Writing GHSL_modal_settlement_model_classification_5km var (31/173)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_5km created (31/173)\n", - "Rank 000: Filling GHSL_modal_settlement_model_classification_5km)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_5km data (31/173)\n", - "Rank 000: Var GHSL_modal_settlement_model_classification_5km completed (31/173)\n", - "Rank 000: Writing GHSL_population_density var (32/173)\n", - "Rank 000: Var GHSL_population_density created (32/173)\n", - "Rank 000: Filling GHSL_population_density)\n" + "Rank 000: Filling GHSL_max_built_up_area_density_25km)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_settlement_model_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_settlement_model_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_IGBP_land_use. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_LAI. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_UMD_land_use. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_IGBP_land_use. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_LAI. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_UMD_land_use. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_anthrome_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_anthrome_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WMO_region. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biogeographical_realm. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biome. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WMO_region. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_terrestrial_ecoregion. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biogeographical_realm. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable administrative_country_division_1. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biome. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable administrative_country_division_2. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_terrestrial_ecoregion. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable area_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable administrative_country_division_1. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable associated_networks. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable administrative_country_division_2. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable area_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable climatology. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_email_address. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_institution. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable data_level. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable data_licence. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable associated_networks. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -1650,6 +1604,36 @@ "name": "stdout", "output_type": "stream", "text": [ + "Rank 000: Var GHSL_max_built_up_area_density_25km data (26/173)\n", + "Rank 000: Var GHSL_max_built_up_area_density_25km completed (26/173)\n", + "Rank 000: Writing GHSL_max_built_up_area_density_5km var (27/173)\n", + "Rank 000: Var GHSL_max_built_up_area_density_5km created (27/173)\n", + "Rank 000: Filling GHSL_max_built_up_area_density_5km)\n", + "Rank 000: Var GHSL_max_built_up_area_density_5km data (27/173)\n", + "Rank 000: Var GHSL_max_built_up_area_density_5km completed (27/173)\n", + "Rank 000: Writing GHSL_max_population_density_25km var (28/173)\n", + "Rank 000: Var GHSL_max_population_density_25km created (28/173)\n", + "Rank 000: Filling GHSL_max_population_density_25km)\n", + "Rank 000: Var GHSL_max_population_density_25km data (28/173)\n", + "Rank 000: Var GHSL_max_population_density_25km completed (28/173)\n", + "Rank 000: Writing GHSL_max_population_density_5km var (29/173)\n", + "Rank 000: Var GHSL_max_population_density_5km created (29/173)\n", + "Rank 000: Filling GHSL_max_population_density_5km)\n", + "Rank 000: Var GHSL_max_population_density_5km data (29/173)\n", + "Rank 000: Var GHSL_max_population_density_5km completed (29/173)\n", + "Rank 000: Writing GHSL_modal_settlement_model_classification_25km var (30/173)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_25km created (30/173)\n", + "Rank 000: Filling GHSL_modal_settlement_model_classification_25km)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_25km data (30/173)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_25km completed (30/173)\n", + "Rank 000: Writing GHSL_modal_settlement_model_classification_5km var (31/173)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_5km created (31/173)\n", + "Rank 000: Filling GHSL_modal_settlement_model_classification_5km)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_5km data (31/173)\n", + "Rank 000: Var GHSL_modal_settlement_model_classification_5km completed (31/173)\n", + "Rank 000: Writing GHSL_population_density var (32/173)\n", + "Rank 000: Var GHSL_population_density created (32/173)\n", + "Rank 000: Filling GHSL_population_density)\n", "Rank 000: Var GHSL_population_density data (32/173)\n", "Rank 000: Var GHSL_population_density completed (32/173)\n", "Rank 000: Writing GHSL_settlement_model_classification var (33/173)\n", @@ -1861,7 +1845,45 @@ "Rank 000: Var area_classification created (74/173)\n", "Rank 000: Filling area_classification)\n", "Rank 000: Var area_classification data (74/173)\n", - "Rank 000: Var area_classification completed (74/173)\n", + "Rank 000: Var area_classification completed (74/173)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable climatology. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_email_address. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_institution. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable data_level. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable data_licence. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ellipsoid. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable horizontal_datum. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable land_use. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable main_emission_source. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measurement_methodology. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Writing associated_networks var (75/173)\n", "Rank 000: Var associated_networks created (75/173)\n", "Rank 000: Filling associated_networks)\n", @@ -1929,65 +1951,7 @@ "Rank 000: Var day_night_code completed (87/173)\n", "Rank 000: Writing daytime_traffic_speed var (88/173)\n", "Rank 000: Var daytime_traffic_speed created (88/173)\n", - "Rank 000: Filling daytime_traffic_speed)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ellipsoid. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable horizontal_datum. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable land_use. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable main_emission_source. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measurement_methodology. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measurement_scale. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_calibration_scale. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_absorption_cross_section. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_accuracy. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_precision. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_span_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_uncertainty. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zero_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zonal_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_further_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_inlet_information. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_manual_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_process_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_absorption_cross_section. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_accuracy. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Rank 000: Filling daytime_traffic_speed)\n", "Rank 000: Var daytime_traffic_speed data (88/173)\n", "Rank 000: Var daytime_traffic_speed completed (88/173)\n", "Rank 000: Writing derived_uncertainty_per_measurement var (89/173)\n", @@ -2042,7 +2006,75 @@ "Rank 000: Var measurement_altitude completed (98/173)\n", "Rank 000: Writing measurement_methodology var (99/173)\n", "Rank 000: Var measurement_methodology created (99/173)\n", - "Rank 000: Filling measurement_methodology)\n", + "Rank 000: Filling measurement_methodology)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measurement_scale. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_calibration_scale. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_absorption_cross_section. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_accuracy. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_precision. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_span_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_uncertainty. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zero_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zonal_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_further_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_inlet_information. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_manual_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_process_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_absorption_cross_section. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_accuracy. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_precision. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_span_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_uncertainty. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_units. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zero_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zonal_drift. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_sampling_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_maintenance_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_miscellaneous_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var measurement_methodology data (99/173)\n", "Rank 000: Var measurement_methodology completed (99/173)\n", "Rank 000: Writing measurement_scale var (100/173)\n", @@ -2144,79 +2176,7 @@ "Rank 000: Var measuring_instrument_reported_accuracy created (119/173)\n", "Rank 000: Filling measuring_instrument_reported_accuracy)\n", "Rank 000: Var measuring_instrument_reported_accuracy data (119/173)\n", - "Rank 000: Var measuring_instrument_reported_accuracy completed (119/173)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_precision. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_span_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_uncertainty. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_units. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zero_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zonal_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_sampling_type. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_maintenance_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_miscellaneous_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_qa_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_sampling_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_uncertainty_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_further_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_manual_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_process_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_type. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_email_address. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_institution. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable process_warnings. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable projection. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable retrieval_algorithm. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_further_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_process_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_techniques. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_types. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Rank 000: Var measuring_instrument_reported_accuracy completed (119/173)\n", "Rank 000: Writing measuring_instrument_reported_flow_rate var (120/173)\n", "Rank 000: Var measuring_instrument_reported_flow_rate created (120/173)\n", "Rank 000: Filling measuring_instrument_reported_flow_rate)\n", @@ -2304,7 +2264,59 @@ "Rank 000: Var network_provided_volume_standard_pressure completed (136/173)\n", "Rank 000: Writing network_provided_volume_standard_temperature var (137/173)\n", "Rank 000: Var network_provided_volume_standard_temperature created (137/173)\n", - "Rank 000: Filling network_provided_volume_standard_temperature)\n", + "Rank 000: Filling network_provided_volume_standard_temperature)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_qa_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_sampling_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_uncertainty_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_further_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_manual_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_process_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_email_address. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_institution. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable process_warnings. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable projection. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable retrieval_algorithm. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_further_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_process_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_techniques. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_types. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var network_provided_volume_standard_temperature data (137/173)\n", "Rank 000: Var network_provided_volume_standard_temperature completed (137/173)\n", "Rank 000: Writing network_qa_details var (138/173)\n", @@ -2419,41 +2431,26 @@ "Rank 000: Var sample_preparation_techniques completed (159/173)\n", "Rank 000: Writing sample_preparation_types var (160/173)\n", "Rank 000: Var sample_preparation_types created (160/173)\n", - "Rank 000: Filling sample_preparation_types)\n", - "Rank 000: Var sample_preparation_types data (160/173)\n", - "Rank 000: Var sample_preparation_types completed (160/173)\n", - "Rank 000: Writing sampling_height var (161/173)\n", - "Rank 000: Var sampling_height created (161/173)\n", - "Rank 000: Filling sampling_height)\n", - "Rank 000: Var sampling_height data (161/173)\n", - "Rank 000: Var sampling_height completed (161/173)\n", - "Rank 000: Writing sconcso4 var (162/173)\n", - "Rank 000: Var sconcso4 created (162/173)\n", - "Rank 000: Filling sconcso4)\n", - "Rank 000: Var sconcso4 data (162/173)\n", - "Rank 000: Var sconcso4 completed (162/173)\n", - "Rank 000: Writing season_code var (163/173)\n", - "Rank 000: Var season_code created (163/173)\n", - "Rank 000: Filling season_code)\n" + "Rank 000: Filling sample_preparation_types)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_reference. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_reference. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_timezone. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_timezone. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable terrain. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable terrain. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable vertical_datum. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable vertical_datum. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -2461,6 +2458,21 @@ "name": "stdout", "output_type": "stream", "text": [ + "Rank 000: Var sample_preparation_types data (160/173)\n", + "Rank 000: Var sample_preparation_types completed (160/173)\n", + "Rank 000: Writing sampling_height var (161/173)\n", + "Rank 000: Var sampling_height created (161/173)\n", + "Rank 000: Filling sampling_height)\n", + "Rank 000: Var sampling_height data (161/173)\n", + "Rank 000: Var sampling_height completed (161/173)\n", + "Rank 000: Writing sconcso4 var (162/173)\n", + "Rank 000: Var sconcso4 created (162/173)\n", + "Rank 000: Filling sconcso4)\n", + "Rank 000: Var sconcso4 data (162/173)\n", + "Rank 000: Var sconcso4 completed (162/173)\n", + "Rank 000: Writing season_code var (163/173)\n", + "Rank 000: Var season_code created (163/173)\n", + "Rank 000: Filling season_code)\n", "Rank 000: Var season_code data (163/173)\n", "Rank 000: Var season_code completed (163/173)\n", "Rank 000: Writing station_classification var (164/173)\n", @@ -2889,7 +2901,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 23, @@ -2918,7 +2930,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 24, diff --git a/tutorials/1.Introduction/1.4.Read_Write_LCC.ipynb b/tutorials/1.Introduction/1.4.Read_Write_LCC.ipynb index d3ff977..3af9854 100644 --- a/tutorials/1.Introduction/1.4.Read_Write_LCC.ipynb +++ b/tutorials/1.Introduction/1.4.Read_Write_LCC.ipynb @@ -42,7 +42,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -661,7 +661,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 15, diff --git a/tutorials/1.Introduction/1.5.Read_Write_Mercator.ipynb b/tutorials/1.Introduction/1.5.Read_Write_Mercator.ipynb index 9b1032f..bed3536 100644 --- a/tutorials/1.Introduction/1.5.Read_Write_Mercator.ipynb +++ b/tutorials/1.Introduction/1.5.Read_Write_Mercator.ipynb @@ -42,7 +42,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -436,7 +436,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 13, diff --git a/tutorials/1.Introduction/1.6.Read_Write_Providentia.ipynb b/tutorials/1.Introduction/1.6.Read_Write_Providentia.ipynb index 25ab464..4440292 100644 --- a/tutorials/1.Introduction/1.6.Read_Write_Providentia.ipynb +++ b/tutorials/1.Introduction/1.6.Read_Write_Providentia.ipynb @@ -49,7 +49,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -640,67 +640,49 @@ "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_Iwahashi_landform_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_Iwahashi_landform_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_Meybeck_landform_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_Meybeck_landform_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Iwahashi_landform_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ESDAC_modal_Meybeck_landform_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHOST_version. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHOST_version. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_modal_settlement_model_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable GHSL_settlement_model_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable GHSL_settlement_model_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_classification. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_classification. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable Koppen-Geiger_modal_classification_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_IGBP_land_use. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_IGBP_land_use. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_LAI. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_LAI. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_UMD_land_use. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_UMD_land_use. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_IGBP_land_use_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_5km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_LAI_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_25km. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_25km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_5km. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_anthrome_classification. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_25km. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_5km. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WMO_region. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biogeographical_realm. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biome. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_terrestrial_ecoregion. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable administrative_country_division_1. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable administrative_country_division_2. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable MODIS_MCD12C1_v6_modal_UMD_land_use_5km. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -965,7 +947,23 @@ "Rank 000: Var MODIS_MCD12C1_v6_modal_UMD_land_use_25km created (51/175)\n", "Rank 000: Filling MODIS_MCD12C1_v6_modal_UMD_land_use_25km)\n", "Rank 000: Var MODIS_MCD12C1_v6_modal_UMD_land_use_25km data (51/175)\n", - "Rank 000: Var MODIS_MCD12C1_v6_modal_UMD_land_use_25km completed (51/175)\n", + "Rank 000: Var MODIS_MCD12C1_v6_modal_UMD_land_use_25km completed (51/175)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_anthrome_classification. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_25km. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Writing MODIS_MCD12C1_v6_modal_UMD_land_use_5km var (52/175)\n", "Rank 000: Var MODIS_MCD12C1_v6_modal_UMD_land_use_5km created (52/175)\n", "Rank 000: Filling MODIS_MCD12C1_v6_modal_UMD_land_use_5km)\n", @@ -1023,7 +1021,49 @@ "Rank 000: Var UMBC_anthrome_classification completed (62/175)\n", "Rank 000: Writing UMBC_modal_anthrome_classification_25km var (63/175)\n", "Rank 000: Var UMBC_modal_anthrome_classification_25km created (63/175)\n", - "Rank 000: Filling UMBC_modal_anthrome_classification_25km)\n", + "Rank 000: Filling UMBC_modal_anthrome_classification_25km)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable UMBC_modal_anthrome_classification_5km. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WMO_region. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biogeographical_realm. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_biome. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable WWF_TEOW_terrestrial_ecoregion. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable administrative_country_division_1. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable administrative_country_division_2. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable area_classification. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable associated_networks. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable climatology. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_email_address. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_institution. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable contact_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var UMBC_modal_anthrome_classification_25km data (63/175)\n", "Rank 000: Var UMBC_modal_anthrome_classification_25km completed (63/175)\n", "Rank 000: Writing UMBC_modal_anthrome_classification_5km var (64/175)\n", @@ -1073,61 +1113,7 @@ "Rank 000: Var annual_native_max_gap_percent completed (72/175)\n", "Rank 000: Writing annual_native_representativity_percent var (73/175)\n", "Rank 000: Var annual_native_representativity_percent created (73/175)\n", - "Rank 000: Filling annual_native_representativity_percent)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable area_classification. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable associated_networks. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable city. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable climatology. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_email_address. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_institution. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable contact_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable country. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable data_level. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable data_licence. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable ellipsoid. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable horizontal_datum. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable land_use. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable main_emission_source. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measurement_methodology. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measurement_scale. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_calibration_scale. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_absorption_cross_section. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_accuracy. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_precision. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Rank 000: Filling annual_native_representativity_percent)\n", "Rank 000: Var annual_native_representativity_percent data (73/175)\n", "Rank 000: Var annual_native_representativity_percent completed (73/175)\n", "Rank 000: Writing area_classification var (74/175)\n", @@ -1177,7 +1163,21 @@ "Rank 000: Var daily_native_max_gap_percent completed (82/175)\n", "Rank 000: Writing daily_native_representativity_percent var (83/175)\n", "Rank 000: Var daily_native_representativity_percent created (83/175)\n", - "Rank 000: Filling daily_native_representativity_percent)\n", + "Rank 000: Filling daily_native_representativity_percent)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable data_level. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var daily_native_representativity_percent data (83/175)\n", "Rank 000: Var daily_native_representativity_percent completed (83/175)\n", "Rank 000: Writing daily_passing_vehicles var (84/175)\n", @@ -1187,7 +1187,29 @@ "Rank 000: Var daily_passing_vehicles completed (84/175)\n", "Rank 000: Writing data_level var (85/175)\n", "Rank 000: Var data_level created (85/175)\n", - "Rank 000: Filling data_level)\n", + "Rank 000: Filling data_level)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable data_licence. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable ellipsoid. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable horizontal_datum. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable land_use. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable main_emission_source. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var data_level data (85/175)\n", "Rank 000: Var data_level completed (85/175)\n", "Rank 000: Writing data_licence var (86/175)\n", @@ -1272,128 +1294,70 @@ "Rank 000: Var mean_solar_time completed (101/175)\n", "Rank 000: Writing measurement_altitude var (102/175)\n", "Rank 000: Var measurement_altitude created (102/175)\n", - "Rank 000: Filling measurement_altitude)\n", - "Rank 000: Var measurement_altitude data (102/175)\n", - "Rank 000: Var measurement_altitude completed (102/175)\n", - "Rank 000: Writing measurement_methodology var (103/175)\n", - "Rank 000: Var measurement_methodology created (103/175)\n", - "Rank 000: Filling measurement_methodology)\n", - "Rank 000: Var measurement_methodology data (103/175)\n", - "Rank 000: Var measurement_methodology completed (103/175)\n", - "Rank 000: Writing measurement_scale var (104/175)\n", - "Rank 000: Var measurement_scale created (104/175)\n", - "Rank 000: Filling measurement_scale)\n", - "Rank 000: Var measurement_scale data (104/175)\n", - "Rank 000: Var measurement_scale completed (104/175)\n", - "Rank 000: Writing measuring_instrument_calibration_scale var (105/175)\n", - "Rank 000: Var measuring_instrument_calibration_scale created (105/175)\n", - "Rank 000: Filling measuring_instrument_calibration_scale)\n", - "Rank 000: Var measuring_instrument_calibration_scale data (105/175)\n", - "Rank 000: Var measuring_instrument_calibration_scale completed (105/175)\n", - "Rank 000: Writing measuring_instrument_documented_absorption_cross_section var (106/175)\n", - "Rank 000: Var measuring_instrument_documented_absorption_cross_section created (106/175)\n", - "Rank 000: Filling measuring_instrument_documented_absorption_cross_section)\n", - "Rank 000: Var measuring_instrument_documented_absorption_cross_section data (106/175)\n", - "Rank 000: Var measuring_instrument_documented_absorption_cross_section completed (106/175)\n", - "Rank 000: Writing measuring_instrument_documented_accuracy var (107/175)\n", - "Rank 000: Var measuring_instrument_documented_accuracy created (107/175)\n", - "Rank 000: Filling measuring_instrument_documented_accuracy)\n", - "Rank 000: Var measuring_instrument_documented_accuracy data (107/175)\n", - "Rank 000: Var measuring_instrument_documented_accuracy completed (107/175)\n", - "Rank 000: Writing measuring_instrument_documented_flow_rate var (108/175)\n", - "Rank 000: Var measuring_instrument_documented_flow_rate created (108/175)\n", - "Rank 000: Filling measuring_instrument_documented_flow_rate)\n", - "Rank 000: Var measuring_instrument_documented_flow_rate data (108/175)\n", - "Rank 000: Var measuring_instrument_documented_flow_rate completed (108/175)\n", - "Rank 000: Writing measuring_instrument_documented_lower_limit_of_detection var (109/175)\n", - "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection created (109/175)\n", - "Rank 000: Filling measuring_instrument_documented_lower_limit_of_detection)\n", - "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection data (109/175)\n", - "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection completed (109/175)\n", - "Rank 000: Writing measuring_instrument_documented_measurement_resolution var (110/175)\n", - "Rank 000: Var measuring_instrument_documented_measurement_resolution created (110/175)\n", - "Rank 000: Filling measuring_instrument_documented_measurement_resolution)\n", - "Rank 000: Var measuring_instrument_documented_measurement_resolution data (110/175)\n", - "Rank 000: Var measuring_instrument_documented_measurement_resolution completed (110/175)\n" + "Rank 000: Filling measurement_altitude)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_span_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_uncertainty. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zero_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zonal_drift. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_further_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_inlet_information. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_manual_name. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measurement_methodology. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_name. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measurement_scale. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_process_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_calibration_scale. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_absorption_cross_section. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_absorption_cross_section. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_accuracy. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_accuracy. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_precision. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_precision. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_span_drift. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_span_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_uncertainty. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_uncertainty. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_units. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zero_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zero_drift. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_documented_zonal_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zonal_drift. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_further_details. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable measuring_instrument_sampling_type. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_inlet_information. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_manual_name. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_maintenance_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_name. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_miscellaneous_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_process_details. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_qa_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_absorption_cross_section. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_sampling_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_accuracy. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable network_uncertainty_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_further_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_precision. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_span_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_manual_name. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_uncertainty. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_name. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_units. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zero_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_process_details. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_reported_zonal_drift. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable primary_sampling_type. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable measuring_instrument_sampling_type. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_email_address. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_institution. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_maintenance_details. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable principal_investigator_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable process_warnings. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable projection. Input dtype=. Data dtype=object.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_miscellaneous_details. Input dtype=. Data dtype=object.\n", " warnings.warn(msg)\n" ] }, @@ -1401,6 +1365,48 @@ "name": "stdout", "output_type": "stream", "text": [ + "Rank 000: Var measurement_altitude data (102/175)\n", + "Rank 000: Var measurement_altitude completed (102/175)\n", + "Rank 000: Writing measurement_methodology var (103/175)\n", + "Rank 000: Var measurement_methodology created (103/175)\n", + "Rank 000: Filling measurement_methodology)\n", + "Rank 000: Var measurement_methodology data (103/175)\n", + "Rank 000: Var measurement_methodology completed (103/175)\n", + "Rank 000: Writing measurement_scale var (104/175)\n", + "Rank 000: Var measurement_scale created (104/175)\n", + "Rank 000: Filling measurement_scale)\n", + "Rank 000: Var measurement_scale data (104/175)\n", + "Rank 000: Var measurement_scale completed (104/175)\n", + "Rank 000: Writing measuring_instrument_calibration_scale var (105/175)\n", + "Rank 000: Var measuring_instrument_calibration_scale created (105/175)\n", + "Rank 000: Filling measuring_instrument_calibration_scale)\n", + "Rank 000: Var measuring_instrument_calibration_scale data (105/175)\n", + "Rank 000: Var measuring_instrument_calibration_scale completed (105/175)\n", + "Rank 000: Writing measuring_instrument_documented_absorption_cross_section var (106/175)\n", + "Rank 000: Var measuring_instrument_documented_absorption_cross_section created (106/175)\n", + "Rank 000: Filling measuring_instrument_documented_absorption_cross_section)\n", + "Rank 000: Var measuring_instrument_documented_absorption_cross_section data (106/175)\n", + "Rank 000: Var measuring_instrument_documented_absorption_cross_section completed (106/175)\n", + "Rank 000: Writing measuring_instrument_documented_accuracy var (107/175)\n", + "Rank 000: Var measuring_instrument_documented_accuracy created (107/175)\n", + "Rank 000: Filling measuring_instrument_documented_accuracy)\n", + "Rank 000: Var measuring_instrument_documented_accuracy data (107/175)\n", + "Rank 000: Var measuring_instrument_documented_accuracy completed (107/175)\n", + "Rank 000: Writing measuring_instrument_documented_flow_rate var (108/175)\n", + "Rank 000: Var measuring_instrument_documented_flow_rate created (108/175)\n", + "Rank 000: Filling measuring_instrument_documented_flow_rate)\n", + "Rank 000: Var measuring_instrument_documented_flow_rate data (108/175)\n", + "Rank 000: Var measuring_instrument_documented_flow_rate completed (108/175)\n", + "Rank 000: Writing measuring_instrument_documented_lower_limit_of_detection var (109/175)\n", + "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection created (109/175)\n", + "Rank 000: Filling measuring_instrument_documented_lower_limit_of_detection)\n", + "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection data (109/175)\n", + "Rank 000: Var measuring_instrument_documented_lower_limit_of_detection completed (109/175)\n", + "Rank 000: Writing measuring_instrument_documented_measurement_resolution var (110/175)\n", + "Rank 000: Var measuring_instrument_documented_measurement_resolution created (110/175)\n", + "Rank 000: Filling measuring_instrument_documented_measurement_resolution)\n", + "Rank 000: Var measuring_instrument_documented_measurement_resolution data (110/175)\n", + "Rank 000: Var measuring_instrument_documented_measurement_resolution completed (110/175)\n", "Rank 000: Writing measuring_instrument_documented_precision var (111/175)\n", "Rank 000: Var measuring_instrument_documented_precision created (111/175)\n", "Rank 000: Filling measuring_instrument_documented_precision)\n", @@ -1548,14 +1554,86 @@ "Rank 000: Var network_miscellaneous_details completed (139/175)\n", "Rank 000: Writing network_provided_volume_standard_pressure var (140/175)\n", "Rank 000: Var network_provided_volume_standard_pressure created (140/175)\n", - "Rank 000: Filling network_provided_volume_standard_pressure)\n", + "Rank 000: Filling network_provided_volume_standard_pressure)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_qa_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var network_provided_volume_standard_pressure data (140/175)\n", "Rank 000: Var network_provided_volume_standard_pressure completed (140/175)\n", "Rank 000: Writing network_provided_volume_standard_temperature var (141/175)\n", "Rank 000: Var network_provided_volume_standard_temperature created (141/175)\n", "Rank 000: Filling network_provided_volume_standard_temperature)\n", "Rank 000: Var network_provided_volume_standard_temperature data (141/175)\n", - "Rank 000: Var network_provided_volume_standard_temperature completed (141/175)\n", + "Rank 000: Var network_provided_volume_standard_temperature completed (141/175)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_sampling_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable network_uncertainty_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_further_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_documented_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_manual_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_instrument_reported_flow_rate. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_process_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable primary_sampling_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_email_address. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_institution. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable principal_investigator_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable process_warnings. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable projection. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_further_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_process_details. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_techniques. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable sample_preparation_types. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_classification. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_reference. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable station_timezone. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Writing network_qa_details var (142/175)\n", "Rank 000: Var network_qa_details created (142/175)\n", "Rank 000: Filling network_qa_details)\n", @@ -1643,41 +1721,7 @@ "Rank 000: Var reported_uncertainty_per_measurement completed (158/175)\n", "Rank 000: Writing representative_radius var (159/175)\n", "Rank 000: Var representative_radius created (159/175)\n", - "Rank 000: Filling representative_radius)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_further_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_process_details. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_techniques. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable sample_preparation_types. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_classification. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_name. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_reference. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable station_timezone. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable street_type. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable terrain. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n", - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:332: UserWarning: WARNING!!! Different data types for variable vertical_datum. Input dtype=. Data dtype=object.\n", - " warnings.warn(msg)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Rank 000: Filling representative_radius)\n", "Rank 000: Var representative_radius data (159/175)\n", "Rank 000: Var representative_radius completed (159/175)\n", "Rank 000: Writing sample_preparation_further_details var (160/175)\n", @@ -1737,14 +1781,42 @@ "Rank 000: Var station_timezone completed (170/175)\n", "Rank 000: Writing street_type var (171/175)\n", "Rank 000: Var street_type created (171/175)\n", - "Rank 000: Filling street_type)\n", + "Rank 000: Filling street_type)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable terrain. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Var street_type data (171/175)\n", "Rank 000: Var street_type completed (171/175)\n", "Rank 000: Writing street_width var (172/175)\n", "Rank 000: Var street_width created (172/175)\n", "Rank 000: Filling street_width)\n", "Rank 000: Var street_width data (172/175)\n", - "Rank 000: Var street_width completed (172/175)\n", + "Rank 000: Var street_width completed (172/175)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/points_nes_ghost.py:329: UserWarning: WARNING!!! Different data types for variable vertical_datum. Input dtype=. Data dtype=object.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Rank 000: Writing terrain var (173/175)\n", "Rank 000: Var terrain created (173/175)\n", "Rank 000: Filling terrain)\n", @@ -1802,7 +1874,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 11, diff --git a/tutorials/2.Creation/2.1.Create_Regular.ipynb b/tutorials/2.Creation/2.1.Create_Regular.ipynb index 8e04055..5e67973 100644 --- a/tutorials/2.Creation/2.1.Create_Regular.ipynb +++ b/tutorials/2.Creation/2.1.Create_Regular.ipynb @@ -13,7 +13,9 @@ "metadata": {}, "outputs": [], "source": [ - "from nes import *" + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" ] }, { @@ -21,13 +23,29 @@ "execution_count": 2, "metadata": {}, "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], "source": [ "lat_orig = 41.1\n", "lon_orig = 1.8\n", - "inc_lat = 0.1\n", - "inc_lon = 0.1\n", - "n_lat = 10\n", - "n_lon = 10\n", + "inc_lat = 0.5\n", + "inc_lon = 0.5\n", + "n_lat = 25\n", + "n_lon = 50\n", "regular_grid = create_nes(comm=None, info=False, projection='regular',\n", " lat_orig=lat_orig, lon_orig=lon_orig, inc_lat=inc_lat, inc_lon=inc_lon, \n", " n_lat=n_lat, n_lon=n_lon)" @@ -35,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -54,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -63,7 +81,7 @@ "Proj('+proj=longlat +ellps=WGS84 +no_defs', preserve_units=True)" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -74,18 +92,24 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'grid_mapping_name': 'latitude_longitude',\n", - " 'semi_major_axis': '6378137.0',\n", - " 'inverse_flattening': '0'}" + " 'semi_major_axis': 6378137.0,\n", + " 'inverse_flattening': 0,\n", + " 'inc_lat': 0.5,\n", + " 'inc_lon': 0.5,\n", + " 'lat_orig': 41.1,\n", + " 'lon_orig': 1.8,\n", + " 'n_lat': 25,\n", + " 'n_lon': 50}" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -94,45 +118,164 @@ "regular_grid.projection_data" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot" + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((1.80000 41.10000, 2.30000 41.10000, ...
1POLYGON ((2.30000 41.10000, 2.80000 41.10000, ...
2POLYGON ((2.80000 41.10000, 3.30000 41.10000, ...
3POLYGON ((3.30000 41.10000, 3.80000 41.10000, ...
4POLYGON ((3.80000 41.10000, 4.30000 41.10000, ...
......
1245POLYGON ((24.30000 53.10000, 24.80000 53.10000...
1246POLYGON ((24.80000 53.10000, 25.30000 53.10000...
1247POLYGON ((25.30000 53.10000, 25.80000 53.10000...
1248POLYGON ((25.80000 53.10000, 26.30000 53.10000...
1249POLYGON ((26.30000 53.10000, 26.80000 53.10000...
\n", + "

1250 rows × 1 columns

\n", + "
" + ], "text/plain": [ - "{'data': array([41.15, 41.25, 41.35, 41.45, 41.55, 41.65, 41.75, 41.85, 41.95,\n", - " 42.05])}" + " geometry\n", + "FID \n", + "0 POLYGON ((1.80000 41.10000, 2.30000 41.10000, ...\n", + "1 POLYGON ((2.30000 41.10000, 2.80000 41.10000, ...\n", + "2 POLYGON ((2.80000 41.10000, 3.30000 41.10000, ...\n", + "3 POLYGON ((3.30000 41.10000, 3.80000 41.10000, ...\n", + "4 POLYGON ((3.80000 41.10000, 4.30000 41.10000, ...\n", + "... ...\n", + "1245 POLYGON ((24.30000 53.10000, 24.80000 53.10000...\n", + "1246 POLYGON ((24.80000 53.10000, 25.30000 53.10000...\n", + "1247 POLYGON ((25.30000 53.10000, 25.80000 53.10000...\n", + "1248 POLYGON ((25.80000 53.10000, 26.30000 53.10000...\n", + "1249 POLYGON ((26.30000 53.10000, 26.80000 53.10000...\n", + "\n", + "[1250 rows x 1 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "regular_grid.lat" + "regular_grid.create_shapefile()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'data': array([1.85, 1.95, 2.05, 2.15, 2.25, 2.35, 2.45, 2.55, 2.65, 2.75])}" + "" ] }, - "execution_count": 7, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "regular_grid.lon" + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "regular_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')" ] } ], diff --git a/tutorials/2.Creation/2.2.Create_Rotated.ipynb b/tutorials/2.Creation/2.2.Create_Rotated.ipynb index 66b271f..ea0b917 100644 --- a/tutorials/2.Creation/2.2.Create_Rotated.ipynb +++ b/tutorials/2.Creation/2.2.Create_Rotated.ipynb @@ -13,7 +13,9 @@ "metadata": {}, "outputs": [], "source": [ - "from nes import *" + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" ] }, { @@ -21,6 +23,22 @@ "execution_count": 2, "metadata": {}, "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], "source": [ "centre_lat = 51\n", "centre_lon = 10\n", @@ -36,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -55,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -64,7 +82,7 @@ "Proj('+proj=ob_tran +o_proj=longlat +ellps=WGS84 +R=6356752.3142 +o_lat_p=39.0 +o_lon_p=-170.0', preserve_units=True)" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -75,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -83,10 +101,14 @@ "text/plain": [ "{'grid_mapping_name': 'rotated_latitude_longitude',\n", " 'grid_north_pole_latitude': 39,\n", - " 'grid_north_pole_longitude': -170}" + " 'grid_north_pole_longitude': -170,\n", + " 'inc_rlat': 0.2,\n", + " 'inc_rlon': 0.2,\n", + " 'south_boundary': -27,\n", + " 'west_boundary': -35}" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -95,112 +117,164 @@ "rotated_grid.projection_data" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot" + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-22.21497 16.22040, -22.05071 16.303...
1POLYGON ((-22.05071 16.30307, -21.88618 16.385...
2POLYGON ((-21.88618 16.38536, -21.72137 16.467...
3POLYGON ((-21.72137 16.46727, -21.55629 16.548...
4POLYGON ((-21.55629 16.54881, -21.39094 16.629...
......
95116POLYGON ((87.25127 59.16191, 87.43401 59.01025...
95117POLYGON ((87.43401 59.01025, 87.61561 58.85850...
95118POLYGON ((87.61561 58.85850, 87.79608 58.70663...
95119POLYGON ((87.79608 58.70663, 87.97545 58.55466...
95120POLYGON ((87.97545 58.55466, 88.15372 58.40259...
\n", + "

95121 rows × 1 columns

\n", + "
" + ], "text/plain": [ - "{'data': array([-27. , -26.8, -26.6, -26.4, -26.2, -26. , -25.8, -25.6, -25.4,\n", - " -25.2, -25. , -24.8, -24.6, -24.4, -24.2, -24. , -23.8, -23.6,\n", - " -23.4, -23.2, -23. , -22.8, -22.6, -22.4, -22.2, -22. , -21.8,\n", - " -21.6, -21.4, -21.2, -21. , -20.8, -20.6, -20.4, -20.2, -20. ,\n", - " -19.8, -19.6, -19.4, -19.2, -19. , -18.8, -18.6, -18.4, -18.2,\n", - " -18. , -17.8, -17.6, -17.4, -17.2, -17. , -16.8, -16.6, -16.4,\n", - " -16.2, -16. , -15.8, -15.6, -15.4, -15.2, -15. , -14.8, -14.6,\n", - " -14.4, -14.2, -14. , -13.8, -13.6, -13.4, -13.2, -13. , -12.8,\n", - " -12.6, -12.4, -12.2, -12. , -11.8, -11.6, -11.4, -11.2, -11. ,\n", - " -10.8, -10.6, -10.4, -10.2, -10. , -9.8, -9.6, -9.4, -9.2,\n", - " -9. , -8.8, -8.6, -8.4, -8.2, -8. , -7.8, -7.6, -7.4,\n", - " -7.2, -7. , -6.8, -6.6, -6.4, -6.2, -6. , -5.8, -5.6,\n", - " -5.4, -5.2, -5. , -4.8, -4.6, -4.4, -4.2, -4. , -3.8,\n", - " -3.6, -3.4, -3.2, -3. , -2.8, -2.6, -2.4, -2.2, -2. ,\n", - " -1.8, -1.6, -1.4, -1.2, -1. , -0.8, -0.6, -0.4, -0.2,\n", - " 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2, 1.4, 1.6,\n", - " 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. , 3.2, 3.4,\n", - " 3.6, 3.8, 4. , 4.2, 4.4, 4.6, 4.8, 5. , 5.2,\n", - " 5.4, 5.6, 5.8, 6. , 6.2, 6.4, 6.6, 6.8, 7. ,\n", - " 7.2, 7.4, 7.6, 7.8, 8. , 8.2, 8.4, 8.6, 8.8,\n", - " 9. , 9.2, 9.4, 9.6, 9.8, 10. , 10.2, 10.4, 10.6,\n", - " 10.8, 11. , 11.2, 11.4, 11.6, 11.8, 12. , 12.2, 12.4,\n", - " 12.6, 12.8, 13. , 13.2, 13.4, 13.6, 13.8, 14. , 14.2,\n", - " 14.4, 14.6, 14.8, 15. , 15.2, 15.4, 15.6, 15.8, 16. ,\n", - " 16.2, 16.4, 16.6, 16.8, 17. , 17.2, 17.4, 17.6, 17.8,\n", - " 18. , 18.2, 18.4, 18.6, 18.8, 19. , 19.2, 19.4, 19.6,\n", - " 19.8, 20. , 20.2, 20.4, 20.6, 20.8, 21. , 21.2, 21.4,\n", - " 21.6, 21.8, 22. , 22.2, 22.4, 22.6, 22.8, 23. , 23.2,\n", - " 23.4, 23.6, 23.8, 24. , 24.2, 24.4, 24.6, 24.8, 25. ,\n", - " 25.2, 25.4, 25.6, 25.8, 26. , 26.2, 26.4, 26.6, 26.8,\n", - " 27. ])}" + " geometry\n", + "FID \n", + "0 POLYGON ((-22.21497 16.22040, -22.05071 16.303...\n", + "1 POLYGON ((-22.05071 16.30307, -21.88618 16.385...\n", + "2 POLYGON ((-21.88618 16.38536, -21.72137 16.467...\n", + "3 POLYGON ((-21.72137 16.46727, -21.55629 16.548...\n", + "4 POLYGON ((-21.55629 16.54881, -21.39094 16.629...\n", + "... ...\n", + "95116 POLYGON ((87.25127 59.16191, 87.43401 59.01025...\n", + "95117 POLYGON ((87.43401 59.01025, 87.61561 58.85850...\n", + "95118 POLYGON ((87.61561 58.85850, 87.79608 58.70663...\n", + "95119 POLYGON ((87.79608 58.70663, 87.97545 58.55466...\n", + "95120 POLYGON ((87.97545 58.55466, 88.15372 58.40259...\n", + "\n", + "[95121 rows x 1 columns]" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "rotated_grid.rlat" + "rotated_grid.create_shapefile()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'data': array([-35. , -34.8, -34.6, -34.4, -34.2, -34. , -33.8, -33.6, -33.4,\n", - " -33.2, -33. , -32.8, -32.6, -32.4, -32.2, -32. , -31.8, -31.6,\n", - " -31.4, -31.2, -31. , -30.8, -30.6, -30.4, -30.2, -30. , -29.8,\n", - " -29.6, -29.4, -29.2, -29. , -28.8, -28.6, -28.4, -28.2, -28. ,\n", - " -27.8, -27.6, -27.4, -27.2, -27. , -26.8, -26.6, -26.4, -26.2,\n", - " -26. , -25.8, -25.6, -25.4, -25.2, -25. , -24.8, -24.6, -24.4,\n", - " -24.2, -24. , -23.8, -23.6, -23.4, -23.2, -23. , -22.8, -22.6,\n", - " -22.4, -22.2, -22. , -21.8, -21.6, -21.4, -21.2, -21. , -20.8,\n", - " -20.6, -20.4, -20.2, -20. , -19.8, -19.6, -19.4, -19.2, -19. ,\n", - " -18.8, -18.6, -18.4, -18.2, -18. , -17.8, -17.6, -17.4, -17.2,\n", - " -17. , -16.8, -16.6, -16.4, -16.2, -16. , -15.8, -15.6, -15.4,\n", - " -15.2, -15. , -14.8, -14.6, -14.4, -14.2, -14. , -13.8, -13.6,\n", - " -13.4, -13.2, -13. , -12.8, -12.6, -12.4, -12.2, -12. , -11.8,\n", - " -11.6, -11.4, -11.2, -11. , -10.8, -10.6, -10.4, -10.2, -10. ,\n", - " -9.8, -9.6, -9.4, -9.2, -9. , -8.8, -8.6, -8.4, -8.2,\n", - " -8. , -7.8, -7.6, -7.4, -7.2, -7. , -6.8, -6.6, -6.4,\n", - " -6.2, -6. , -5.8, -5.6, -5.4, -5.2, -5. , -4.8, -4.6,\n", - " -4.4, -4.2, -4. , -3.8, -3.6, -3.4, -3.2, -3. , -2.8,\n", - " -2.6, -2.4, -2.2, -2. , -1.8, -1.6, -1.4, -1.2, -1. ,\n", - " -0.8, -0.6, -0.4, -0.2, 0. , 0.2, 0.4, 0.6, 0.8,\n", - " 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6,\n", - " 2.8, 3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4,\n", - " 4.6, 4.8, 5. , 5.2, 5.4, 5.6, 5.8, 6. , 6.2,\n", - " 6.4, 6.6, 6.8, 7. , 7.2, 7.4, 7.6, 7.8, 8. ,\n", - " 8.2, 8.4, 8.6, 8.8, 9. , 9.2, 9.4, 9.6, 9.8,\n", - " 10. , 10.2, 10.4, 10.6, 10.8, 11. , 11.2, 11.4, 11.6,\n", - " 11.8, 12. , 12.2, 12.4, 12.6, 12.8, 13. , 13.2, 13.4,\n", - " 13.6, 13.8, 14. , 14.2, 14.4, 14.6, 14.8, 15. , 15.2,\n", - " 15.4, 15.6, 15.8, 16. , 16.2, 16.4, 16.6, 16.8, 17. ,\n", - " 17.2, 17.4, 17.6, 17.8, 18. , 18.2, 18.4, 18.6, 18.8,\n", - " 19. , 19.2, 19.4, 19.6, 19.8, 20. , 20.2, 20.4, 20.6,\n", - " 20.8, 21. , 21.2, 21.4, 21.6, 21.8, 22. , 22.2, 22.4,\n", - " 22.6, 22.8, 23. , 23.2, 23.4, 23.6, 23.8, 24. , 24.2,\n", - " 24.4, 24.6, 24.8, 25. , 25.2, 25.4, 25.6, 25.8, 26. ,\n", - " 26.2, 26.4, 26.6, 26.8, 27. , 27.2, 27.4, 27.6, 27.8,\n", - " 28. , 28.2, 28.4, 28.6, 28.8, 29. , 29.2, 29.4, 29.6,\n", - " 29.8, 30. , 30.2, 30.4, 30.6, 30.8, 31. , 31.2, 31.4,\n", - " 31.6, 31.8, 32. , 32.2, 32.4, 32.6, 32.8, 33. , 33.2,\n", - " 33.4, 33.6, 33.8, 34. , 34.2, 34.4, 34.6, 34.8, 35. ])}" + "" ] }, - "execution_count": 7, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "rotated_grid.rlon" + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "rotated_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')" ] } ], diff --git a/tutorials/2.Creation/2.3.Create_Rotated_Nested.ipynb b/tutorials/2.Creation/2.3.Create_Rotated_Nested.ipynb new file mode 100644 index 0000000..9d4ce8e --- /dev/null +++ b/tutorials/2.Creation/2.3.Create_Rotated_Nested.ipynb @@ -0,0 +1,411 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to create rotated nested grids" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create shapefile from parent grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-22.21497 16.22040, -22.05071 16.303...
1POLYGON ((-22.05071 16.30307, -21.88618 16.385...
2POLYGON ((-21.88618 16.38536, -21.72137 16.467...
3POLYGON ((-21.72137 16.46727, -21.55629 16.548...
4POLYGON ((-21.55629 16.54881, -21.39094 16.629...
......
95116POLYGON ((87.25127 59.16191, 87.43401 59.01025...
95117POLYGON ((87.43401 59.01025, 87.61561 58.85849...
95118POLYGON ((87.61561 58.85849, 87.79608 58.70663...
95119POLYGON ((87.79608 58.70663, 87.97545 58.55466...
95120POLYGON ((87.97545 58.55466, 88.15372 58.40259...
\n", + "

95121 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " geometry\n", + "FID \n", + "0 POLYGON ((-22.21497 16.22040, -22.05071 16.303...\n", + "1 POLYGON ((-22.05071 16.30307, -21.88618 16.385...\n", + "2 POLYGON ((-21.88618 16.38536, -21.72137 16.467...\n", + "3 POLYGON ((-21.72137 16.46727, -21.55629 16.548...\n", + "4 POLYGON ((-21.55629 16.54881, -21.39094 16.629...\n", + "... ...\n", + "95116 POLYGON ((87.25127 59.16191, 87.43401 59.01025...\n", + "95117 POLYGON ((87.43401 59.01025, 87.61561 58.85849...\n", + "95118 POLYGON ((87.61561 58.85849, 87.79608 58.70663...\n", + "95119 POLYGON ((87.79608 58.70663, 87.97545 58.55466...\n", + "95120 POLYGON ((87.97545 58.55466, 88.15372 58.40259...\n", + "\n", + "[95121 rows x 1 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "parent_grid_path = '/gpfs/projects/bsc32/models/NES_tutorial_data/O3_all-000_2021080300.nc'\n", + "parent_rotated_grid = open_netcdf(parent_grid_path)\n", + "parent_rotated_grid.create_shapefile()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create rotated nested grid from parent grid" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "parent_ratio = 0.5\n", + "i_parent_start = 20\n", + "j_parent_start = 20\n", + "n_rlat = 40\n", + "n_rlon = 50\n", + "rotated_nested_grid = create_nes(comm=None, info=False, projection='rotated-nested',\n", + " parent_grid_path=parent_grid_path, parent_ratio=parent_ratio,\n", + " i_parent_start=i_parent_start, j_parent_start=j_parent_start,\n", + " n_rlat=n_rlat, n_rlon=n_rlon)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Proj('+proj=ob_tran +o_proj=longlat +ellps=WGS84 +R=6356752.3142 +o_lat_p=39.0 +o_lon_p=-170.0', preserve_units=True)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rotated_nested_grid.projection" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'grid_mapping_name': '',\n", + " 'parent_grid_path': '/gpfs/projects/bsc32/models/NES_tutorial_data/O3_all-000_2021080300.nc',\n", + " 'parent_ratio': 0.5,\n", + " 'i_parent_start': 20,\n", + " 'j_parent_start': 20,\n", + " 'n_rlat': 40,\n", + " 'n_rlon': 50,\n", + " 'inc_rlat': 0.40000152587890625,\n", + " '1st_rlat': -23.200000762939453,\n", + " 'inc_rlon': 0.40000152587890625,\n", + " '1st_rlon': -31.200000762939453,\n", + " 'grid_north_pole_longitude': -170.0,\n", + " 'grid_north_pole_latitude': 39.0}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rotated_nested_grid.projection_data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-20.81569 21.02923, -20.46071 21.187...
1POLYGON ((-20.46071 21.18765, -20.10450 21.344...
2POLYGON ((-20.10450 21.34440, -19.74707 21.499...
3POLYGON ((-19.74707 21.49948, -19.38842 21.652...
4POLYGON ((-19.38842 21.65288, -19.02855 21.804...
......
1995POLYGON ((-7.87339 41.57399, -7.35841 41.66807...
1996POLYGON ((-7.35841 41.66807, -6.84183 41.75947...
1997POLYGON ((-6.84183 41.75947, -6.32368 41.84819...
1998POLYGON ((-6.32368 41.84819, -5.80401 41.93421...
1999POLYGON ((-5.80401 41.93421, -5.28284 42.01751...
\n", + "

2000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " geometry\n", + "FID \n", + "0 POLYGON ((-20.81569 21.02923, -20.46071 21.187...\n", + "1 POLYGON ((-20.46071 21.18765, -20.10450 21.344...\n", + "2 POLYGON ((-20.10450 21.34440, -19.74707 21.499...\n", + "3 POLYGON ((-19.74707 21.49948, -19.38842 21.652...\n", + "4 POLYGON ((-19.38842 21.65288, -19.02855 21.804...\n", + "... ...\n", + "1995 POLYGON ((-7.87339 41.57399, -7.35841 41.66807...\n", + "1996 POLYGON ((-7.35841 41.66807, -6.84183 41.75947...\n", + "1997 POLYGON ((-6.84183 41.75947, -6.32368 41.84819...\n", + "1998 POLYGON ((-6.32368 41.84819, -5.80401 41.93421...\n", + "1999 POLYGON ((-5.80401 41.93421, -5.28284 42.01751...\n", + "\n", + "[2000 rows x 1 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rotated_nested_grid.create_shapefile()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overlap parent grid and rotated nested grid" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "parent_rotated_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')\n", + "rotated_nested_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='red')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + }, + "toc-autonumbering": true, + "toc-showcode": false, + "toc-showmarkdowntxt": false + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/tutorials/2.Creation/2.3.Create-Points.ipynb b/tutorials/2.Creation/2.4.Create_Points.ipynb similarity index 100% rename from tutorials/2.Creation/2.3.Create-Points.ipynb rename to tutorials/2.Creation/2.4.Create_Points.ipynb diff --git a/tutorials/2.Creation/2.4.Create_Points_Port_Barcelona.ipynb b/tutorials/2.Creation/2.5.Create_Points_Port_Barcelona.ipynb similarity index 100% rename from tutorials/2.Creation/2.4.Create_Points_Port_Barcelona.ipynb rename to tutorials/2.Creation/2.5.Create_Points_Port_Barcelona.ipynb diff --git a/tutorials/2.Creation/2.6.Create-LCC.ipynb b/tutorials/2.Creation/2.6.Create-LCC.ipynb deleted file mode 100644 index dd8e923..0000000 --- a/tutorials/2.Creation/2.6.Create-LCC.ipynb +++ /dev/null @@ -1,322 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to create LCC grids" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from nes import *" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "lat_1 = 37\n", - "lat_2 = 43\n", - "lon_0 = -3\n", - "lat_0 = 40\n", - "nx = 397\n", - "ny = 397\n", - "inc_x = 4000\n", - "inc_y = 4000\n", - "x_0 = -807847.688\n", - "y_0 = -797137.125\n", - "lcc_grid = create_nes(comm=None, info=False, projection='lcc',\n", - " lat_1=lat_1, lat_2=lat_2, lon_0=lon_0, lat_0=lat_0, \n", - " nx=nx, ny=ny, inc_x=inc_x, inc_y=inc_y, x_0=x_0, y_0=y_0)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Rank 000: Creating lcc_grid.nc\n", - "Rank 000: NetCDF ready to write\n", - "Rank 000: Dimensions done\n" - ] - } - ], - "source": [ - "lcc_grid.to_netcdf('lcc_grid.nc', info=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Proj('+proj=lcc +lat_0=40 +lon_0=-3 +lat_1=37 +lat_2=43 +x_0=0 +y_0=0 +R=6356752.3142 +units=m +no_defs', preserve_units=True)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lcc_grid.projection" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'grid_mapping_name': 'lambert_conformal_conic',\n", - " 'standard_parallel': ['37', '43'],\n", - " 'longitude_of_central_meridian': '-3',\n", - " 'latitude_of_projection_origin': '40'}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lcc_grid.projection_data" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-795137.125, -791137.125, -787137.125, -783137.125, -779137.125,\n", - " -775137.125, -771137.125, -767137.125, -763137.125, -759137.125,\n", - " -755137.125, -751137.125, -747137.125, -743137.125, -739137.125,\n", - " -735137.125, -731137.125, -727137.125, -723137.125, -719137.125,\n", - " -715137.125, -711137.125, -707137.125, -703137.125, -699137.125,\n", - " -695137.125, -691137.125, -687137.125, -683137.125, -679137.125,\n", - " -675137.125, -671137.125, -667137.125, -663137.125, -659137.125,\n", - " -655137.125, -651137.125, -647137.125, -643137.125, -639137.125,\n", - " -635137.125, -631137.125, -627137.125, -623137.125, -619137.125,\n", - " -615137.125, -611137.125, -607137.125, -603137.125, -599137.125,\n", - " -595137.125, -591137.125, -587137.125, -583137.125, -579137.125,\n", - " -575137.125, -571137.125, -567137.125, -563137.125, -559137.125,\n", - " -555137.125, -551137.125, -547137.125, -543137.125, -539137.125,\n", - " -535137.125, -531137.125, -527137.125, -523137.125, -519137.125,\n", - " -515137.125, -511137.125, -507137.125, -503137.125, -499137.125,\n", - " -495137.125, -491137.125, -487137.125, -483137.125, -479137.125,\n", - " -475137.125, -471137.125, -467137.125, -463137.125, -459137.125,\n", - " -455137.125, -451137.125, -447137.125, -443137.125, -439137.125,\n", - " -435137.125, -431137.125, -427137.125, -423137.125, -419137.125,\n", - " -415137.125, -411137.125, -407137.125, -403137.125, -399137.125,\n", - " -395137.125, -391137.125, -387137.125, -383137.125, -379137.125,\n", - " -375137.125, -371137.125, -367137.125, -363137.125, -359137.125,\n", - " -355137.125, -351137.125, -347137.125, -343137.125, -339137.125,\n", - " -335137.125, -331137.125, -327137.125, -323137.125, -319137.125,\n", - " -315137.125, -311137.125, -307137.125, -303137.125, -299137.125,\n", - " -295137.125, -291137.125, -287137.125, -283137.125, -279137.125,\n", - " -275137.125, -271137.125, -267137.125, -263137.125, -259137.125,\n", - " -255137.125, -251137.125, -247137.125, -243137.125, -239137.125,\n", - " -235137.125, -231137.125, -227137.125, -223137.125, -219137.125,\n", - " -215137.125, -211137.125, -207137.125, -203137.125, -199137.125,\n", - " -195137.125, -191137.125, -187137.125, -183137.125, -179137.125,\n", - " -175137.125, -171137.125, -167137.125, -163137.125, -159137.125,\n", - " -155137.125, -151137.125, -147137.125, -143137.125, -139137.125,\n", - " -135137.125, -131137.125, -127137.125, -123137.125, -119137.125,\n", - " -115137.125, -111137.125, -107137.125, -103137.125, -99137.125,\n", - " -95137.125, -91137.125, -87137.125, -83137.125, -79137.125,\n", - " -75137.125, -71137.125, -67137.125, -63137.125, -59137.125,\n", - " -55137.125, -51137.125, -47137.125, -43137.125, -39137.125,\n", - " -35137.125, -31137.125, -27137.125, -23137.125, -19137.125,\n", - " -15137.125, -11137.125, -7137.125, -3137.125, 862.875,\n", - " 4862.875, 8862.875, 12862.875, 16862.875, 20862.875,\n", - " 24862.875, 28862.875, 32862.875, 36862.875, 40862.875,\n", - " 44862.875, 48862.875, 52862.875, 56862.875, 60862.875,\n", - " 64862.875, 68862.875, 72862.875, 76862.875, 80862.875,\n", - " 84862.875, 88862.875, 92862.875, 96862.875, 100862.875,\n", - " 104862.875, 108862.875, 112862.875, 116862.875, 120862.875,\n", - " 124862.875, 128862.875, 132862.875, 136862.875, 140862.875,\n", - " 144862.875, 148862.875, 152862.875, 156862.875, 160862.875,\n", - " 164862.875, 168862.875, 172862.875, 176862.875, 180862.875,\n", - " 184862.875, 188862.875, 192862.875, 196862.875, 200862.875,\n", - " 204862.875, 208862.875, 212862.875, 216862.875, 220862.875,\n", - " 224862.875, 228862.875, 232862.875, 236862.875, 240862.875,\n", - " 244862.875, 248862.875, 252862.875, 256862.875, 260862.875,\n", - " 264862.875, 268862.875, 272862.875, 276862.875, 280862.875,\n", - " 284862.875, 288862.875, 292862.875, 296862.875, 300862.875,\n", - " 304862.875, 308862.875, 312862.875, 316862.875, 320862.875,\n", - " 324862.875, 328862.875, 332862.875, 336862.875, 340862.875,\n", - " 344862.875, 348862.875, 352862.875, 356862.875, 360862.875,\n", - " 364862.875, 368862.875, 372862.875, 376862.875, 380862.875,\n", - " 384862.875, 388862.875, 392862.875, 396862.875, 400862.875,\n", - " 404862.875, 408862.875, 412862.875, 416862.875, 420862.875,\n", - " 424862.875, 428862.875, 432862.875, 436862.875, 440862.875,\n", - " 444862.875, 448862.875, 452862.875, 456862.875, 460862.875,\n", - " 464862.875, 468862.875, 472862.875, 476862.875, 480862.875,\n", - " 484862.875, 488862.875, 492862.875, 496862.875, 500862.875,\n", - " 504862.875, 508862.875, 512862.875, 516862.875, 520862.875,\n", - " 524862.875, 528862.875, 532862.875, 536862.875, 540862.875,\n", - " 544862.875, 548862.875, 552862.875, 556862.875, 560862.875,\n", - " 564862.875, 568862.875, 572862.875, 576862.875, 580862.875,\n", - " 584862.875, 588862.875, 592862.875, 596862.875, 600862.875,\n", - " 604862.875, 608862.875, 612862.875, 616862.875, 620862.875,\n", - " 624862.875, 628862.875, 632862.875, 636862.875, 640862.875,\n", - " 644862.875, 648862.875, 652862.875, 656862.875, 660862.875,\n", - " 664862.875, 668862.875, 672862.875, 676862.875, 680862.875,\n", - " 684862.875, 688862.875, 692862.875, 696862.875, 700862.875,\n", - " 704862.875, 708862.875, 712862.875, 716862.875, 720862.875,\n", - " 724862.875, 728862.875, 732862.875, 736862.875, 740862.875,\n", - " 744862.875, 748862.875, 752862.875, 756862.875, 760862.875,\n", - " 764862.875, 768862.875, 772862.875, 776862.875, 780862.875,\n", - " 784862.875, 788862.875])}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lcc_grid.y" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-805847.688, -801847.688, -797847.688, -793847.688, -789847.688,\n", - " -785847.688, -781847.688, -777847.688, -773847.688, -769847.688,\n", - " -765847.688, -761847.688, -757847.688, -753847.688, -749847.688,\n", - " -745847.688, -741847.688, -737847.688, -733847.688, -729847.688,\n", - " -725847.688, -721847.688, -717847.688, -713847.688, -709847.688,\n", - " -705847.688, -701847.688, -697847.688, -693847.688, -689847.688,\n", - " -685847.688, -681847.688, -677847.688, -673847.688, -669847.688,\n", - " -665847.688, -661847.688, -657847.688, -653847.688, -649847.688,\n", - " -645847.688, -641847.688, -637847.688, -633847.688, -629847.688,\n", - " -625847.688, -621847.688, -617847.688, -613847.688, -609847.688,\n", - " -605847.688, -601847.688, -597847.688, -593847.688, -589847.688,\n", - " -585847.688, -581847.688, -577847.688, -573847.688, -569847.688,\n", - " -565847.688, -561847.688, -557847.688, -553847.688, -549847.688,\n", - " -545847.688, -541847.688, -537847.688, -533847.688, -529847.688,\n", - " -525847.688, -521847.688, -517847.688, -513847.688, -509847.688,\n", - " -505847.688, -501847.688, -497847.688, -493847.688, -489847.688,\n", - " -485847.688, -481847.688, -477847.688, -473847.688, -469847.688,\n", - " -465847.688, -461847.688, -457847.688, -453847.688, -449847.688,\n", - " -445847.688, -441847.688, -437847.688, -433847.688, -429847.688,\n", - " -425847.688, -421847.688, -417847.688, -413847.688, -409847.688,\n", - " -405847.688, -401847.688, -397847.688, -393847.688, -389847.688,\n", - " -385847.688, -381847.688, -377847.688, -373847.688, -369847.688,\n", - " -365847.688, -361847.688, -357847.688, -353847.688, -349847.688,\n", - " -345847.688, -341847.688, -337847.688, -333847.688, -329847.688,\n", - " -325847.688, -321847.688, -317847.688, -313847.688, -309847.688,\n", - " -305847.688, -301847.688, -297847.688, -293847.688, -289847.688,\n", - " -285847.688, -281847.688, -277847.688, -273847.688, -269847.688,\n", - " -265847.688, -261847.688, -257847.688, -253847.688, -249847.688,\n", - " -245847.688, -241847.688, -237847.688, -233847.688, -229847.688,\n", - " -225847.688, -221847.688, -217847.688, -213847.688, -209847.688,\n", - " -205847.688, -201847.688, -197847.688, -193847.688, -189847.688,\n", - " -185847.688, -181847.688, -177847.688, -173847.688, -169847.688,\n", - " -165847.688, -161847.688, -157847.688, -153847.688, -149847.688,\n", - " -145847.688, -141847.688, -137847.688, -133847.688, -129847.688,\n", - " -125847.688, -121847.688, -117847.688, -113847.688, -109847.688,\n", - " -105847.688, -101847.688, -97847.688, -93847.688, -89847.688,\n", - " -85847.688, -81847.688, -77847.688, -73847.688, -69847.688,\n", - " -65847.688, -61847.688, -57847.688, -53847.688, -49847.688,\n", - " -45847.688, -41847.688, -37847.688, -33847.688, -29847.688,\n", - " -25847.688, -21847.688, -17847.688, -13847.688, -9847.688,\n", - " -5847.688, -1847.688, 2152.312, 6152.312, 10152.312,\n", - " 14152.312, 18152.312, 22152.312, 26152.312, 30152.312,\n", - " 34152.312, 38152.312, 42152.312, 46152.312, 50152.312,\n", - " 54152.312, 58152.312, 62152.312, 66152.312, 70152.312,\n", - " 74152.312, 78152.312, 82152.312, 86152.312, 90152.312,\n", - " 94152.312, 98152.312, 102152.312, 106152.312, 110152.312,\n", - " 114152.312, 118152.312, 122152.312, 126152.312, 130152.312,\n", - " 134152.312, 138152.312, 142152.312, 146152.312, 150152.312,\n", - " 154152.312, 158152.312, 162152.312, 166152.312, 170152.312,\n", - " 174152.312, 178152.312, 182152.312, 186152.312, 190152.312,\n", - " 194152.312, 198152.312, 202152.312, 206152.312, 210152.312,\n", - " 214152.312, 218152.312, 222152.312, 226152.312, 230152.312,\n", - " 234152.312, 238152.312, 242152.312, 246152.312, 250152.312,\n", - " 254152.312, 258152.312, 262152.312, 266152.312, 270152.312,\n", - " 274152.312, 278152.312, 282152.312, 286152.312, 290152.312,\n", - " 294152.312, 298152.312, 302152.312, 306152.312, 310152.312,\n", - " 314152.312, 318152.312, 322152.312, 326152.312, 330152.312,\n", - " 334152.312, 338152.312, 342152.312, 346152.312, 350152.312,\n", - " 354152.312, 358152.312, 362152.312, 366152.312, 370152.312,\n", - " 374152.312, 378152.312, 382152.312, 386152.312, 390152.312,\n", - " 394152.312, 398152.312, 402152.312, 406152.312, 410152.312,\n", - " 414152.312, 418152.312, 422152.312, 426152.312, 430152.312,\n", - " 434152.312, 438152.312, 442152.312, 446152.312, 450152.312,\n", - " 454152.312, 458152.312, 462152.312, 466152.312, 470152.312,\n", - " 474152.312, 478152.312, 482152.312, 486152.312, 490152.312,\n", - " 494152.312, 498152.312, 502152.312, 506152.312, 510152.312,\n", - " 514152.312, 518152.312, 522152.312, 526152.312, 530152.312,\n", - " 534152.312, 538152.312, 542152.312, 546152.312, 550152.312,\n", - " 554152.312, 558152.312, 562152.312, 566152.312, 570152.312,\n", - " 574152.312, 578152.312, 582152.312, 586152.312, 590152.312,\n", - " 594152.312, 598152.312, 602152.312, 606152.312, 610152.312,\n", - " 614152.312, 618152.312, 622152.312, 626152.312, 630152.312,\n", - " 634152.312, 638152.312, 642152.312, 646152.312, 650152.312,\n", - " 654152.312, 658152.312, 662152.312, 666152.312, 670152.312,\n", - " 674152.312, 678152.312, 682152.312, 686152.312, 690152.312,\n", - " 694152.312, 698152.312, 702152.312, 706152.312, 710152.312,\n", - " 714152.312, 718152.312, 722152.312, 726152.312, 730152.312,\n", - " 734152.312, 738152.312, 742152.312, 746152.312, 750152.312,\n", - " 754152.312, 758152.312, 762152.312, 766152.312, 770152.312,\n", - " 774152.312, 778152.312])}" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lcc_grid.x" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/tutorials/2.Creation/2.5.Create_Points_CSIC.ipynb b/tutorials/2.Creation/2.6.Create_Points_CSIC.ipynb similarity index 100% rename from tutorials/2.Creation/2.5.Create_Points_CSIC.ipynb rename to tutorials/2.Creation/2.6.Create_Points_CSIC.ipynb diff --git a/tutorials/2.Creation/2.7.Create_LCC.ipynb b/tutorials/2.Creation/2.7.Create_LCC.ipynb new file mode 100644 index 0000000..bf94b68 --- /dev/null +++ b/tutorials/2.Creation/2.7.Create_LCC.ipynb @@ -0,0 +1,308 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to create LCC grids" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "lat_1 = 37\n", + "lat_2 = 43\n", + "lon_0 = -3\n", + "lat_0 = 40\n", + "nx = 397\n", + "ny = 397\n", + "inc_x = 4000\n", + "inc_y = 4000\n", + "x_0 = -807847.688\n", + "y_0 = -797137.125\n", + "lcc_grid = create_nes(comm=None, info=False, projection='lcc',\n", + " lat_1=lat_1, lat_2=lat_2, lon_0=lon_0, lat_0=lat_0, \n", + " nx=nx, ny=ny, inc_x=inc_x, inc_y=inc_y, x_0=x_0, y_0=y_0)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank 000: Creating lcc_grid.nc\n", + "Rank 000: NetCDF ready to write\n", + "Rank 000: Dimensions done\n" + ] + } + ], + "source": [ + "lcc_grid.to_netcdf('lcc_grid.nc', info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Proj('+proj=lcc +lat_0=40 +lon_0=-3 +lat_1=37 +lat_2=43 +x_0=0 +y_0=0 +R=6356752.3142 +units=m +no_defs', preserve_units=True)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lcc_grid.projection" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'grid_mapping_name': 'lambert_conformal_conic',\n", + " 'standard_parallel': [37, 43],\n", + " 'longitude_of_central_meridian': -3,\n", + " 'latitude_of_projection_origin': 40,\n", + " 'x_0': -807847.688,\n", + " 'y_0': -797137.125,\n", + " 'inc_x': 4000,\n", + " 'inc_y': 4000,\n", + " 'nx': 397,\n", + " 'ny': 397}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lcc_grid.projection_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-11.58393 32.47507, -11.54169 32.478...
1POLYGON ((-11.54169 32.47851, -11.49944 32.481...
2POLYGON ((-11.49944 32.48192, -11.45719 32.485...
3POLYGON ((-11.45719 32.48533, -11.41494 32.488...
4POLYGON ((-11.41494 32.48871, -11.37268 32.492...
......
157604POLYGON ((6.95490 46.70274, 7.00684 46.69873, ...
157605POLYGON ((7.00684 46.69873, 7.05878 46.69470, ...
157606POLYGON ((7.05878 46.69470, 7.11071 46.69066, ...
157607POLYGON ((7.11071 46.69066, 7.16264 46.68659, ...
157608POLYGON ((7.16264 46.68659, 7.21456 46.68250, ...
\n", + "

157609 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " geometry\n", + "FID \n", + "0 POLYGON ((-11.58393 32.47507, -11.54169 32.478...\n", + "1 POLYGON ((-11.54169 32.47851, -11.49944 32.481...\n", + "2 POLYGON ((-11.49944 32.48192, -11.45719 32.485...\n", + "3 POLYGON ((-11.45719 32.48533, -11.41494 32.488...\n", + "4 POLYGON ((-11.41494 32.48871, -11.37268 32.492...\n", + "... ...\n", + "157604 POLYGON ((6.95490 46.70274, 7.00684 46.69873, ...\n", + "157605 POLYGON ((7.00684 46.69873, 7.05878 46.69470, ...\n", + "157606 POLYGON ((7.05878 46.69470, 7.11071 46.69066, ...\n", + "157607 POLYGON ((7.11071 46.69066, 7.16264 46.68659, ...\n", + "157608 POLYGON ((7.16264 46.68659, 7.21456 46.68250, ...\n", + "\n", + "[157609 rows x 1 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lcc_grid.create_shapefile()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Fz1mzBinfIpZWVl8+umnSttGjx7drp4/e3D40EMPtVhPWhAEwZtUVVWxbNkyNBoNl156KUlJSUpqOMApc8Ill1xCfHy8B1rZfUQt5m6ycuVKsrOzUavVpKamUlBQQGVlJWlpaQwdOpQhQ4Y49aCcPHmSTz75hIaGBvz9/ZVchWfPnqW6upqoqCgefPBBMQznhSwWC99++22LNTkdTZkyhZSUFH766Sfi4+OZOnWq0/5t27axefNmZFlGq9UqvYvQeBd76623kpiY6Pbvwc4+7WHRokUu32u7du1ScmVCY16wRx99tNVz7tu3j3Xr1imPJUkiLCyM6OhotFotOp2O6upqZS7i/fff7zINkiAIQk/Zvn073333ndM2Hx8fJEni6quvxtfXF5PJRE5ODmlpaaSlpXmopV3T7Ymy3aUvBYhbt27lhx9+QKVSERMTQ1paGlarlaysLPLz84Hm1UH279/PN998w/jx4zGbzezcuZPU1FSysxvTS9rLzsmyTGVlJQ0NDYwZM4apU6fi7+/vke9T+B/778XeAwdw8cUXY/8bsy9EOXLkCEFBQTz++ONOz7dYLCxduhS9Xs/QoUPZs2dPi6913XXXcdFFFzV7/TNnzvDjjz+Sm5vb4UDr3LlzSrLylgJERzt37uSbb75h3rx5rQ57b9u2TcnNaafVavH398dgMAAodartJk+ejK+vLzqdTklpA2AwGDCbzcrczujoaHHTJAiCWzmuD5g0aRIjRozoszetIkD0kJqaGt58802ioqKIjY2lsrJSWaFaUFDAtddey9ixSnYg1q9fz969e53OMXXqVKZMmQI0X9Ril5yczB133NFN34XQGQaDAYvFwrvvvutyf1RUFA899FCz7SdOnCA/Px9ZltFoNIwePRqNRsOuXbvYuHGjcpxWq+WRRx5Bo9GgVqsxmUy89tprzc737LPPtrigpKKighUrVjgtmElOTmbq1Kkt9lLag+Bjx44pi006W26qoaGB5cuXU1ZW1uHn2oneRkEQ3MVgMHD48GG2bNmibPPx8eH555/3YKu6lwgQe5mGhgbKysqcekfKy8v561//2uzYK6+8ksmTJ/d0E4V2Ki4uVtK5WCwWoqOj2b59O1VVjTnj586di0ajISoqit27d2O1WikoKKC2tpZbbrmF0NBQpUzciRMnWl0AY/fII48ok6hbWk3n2KsX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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "lcc_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/tutorials/2.Creation/2.7.Create_Mercator.ipynb b/tutorials/2.Creation/2.7.Create_Mercator.ipynb deleted file mode 100644 index 9574d3e..0000000 --- a/tutorials/2.Creation/2.7.Create_Mercator.ipynb +++ /dev/null @@ -1,252 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to create Mercator grids" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from nes import *" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "lat_ts = -1.5\n", - "lon_0 = -18.0\n", - "nx = 210\n", - "ny = 236\n", - "inc_x = 50000\n", - "inc_y = 50000\n", - "x_0 = -126017.5\n", - "y_0 = -5407460.0\n", - "mercator_grid = create_nes(comm=None, info=False, projection='mercator',\n", - " lat_ts=lat_ts, lon_0=lon_0, nx=nx, ny=ny, \n", - " inc_x=inc_x, inc_y=inc_y, x_0=x_0, y_0=y_0)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Rank 000: Creating mercator_grid.nc\n", - "Rank 000: NetCDF ready to write\n", - "Rank 000: Dimensions done\n" - ] - } - ], - "source": [ - "mercator_grid.to_netcdf('mercator_grid.nc', info=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Proj('+proj=merc +lat_ts=-1.5 +lon_0=-18 +x_0=0 +y_0=0 +a=6378137 +b=6356752.3142 +units=m +no_defs', preserve_units=True)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mercator_grid.projection" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'grid_mapping_name': 'mercator',\n", - " 'standard_parallel': '-1.5',\n", - " 'longitude_of_projection_origin': -18.0}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mercator_grid.projection_data" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-5382460., -5332460., -5282460., -5232460., -5182460., -5132460.,\n", - " -5082460., -5032460., -4982460., -4932460., -4882460., -4832460.,\n", - " -4782460., -4732460., -4682460., -4632460., -4582460., -4532460.,\n", - " -4482460., -4432460., -4382460., -4332460., -4282460., -4232460.,\n", - " -4182460., -4132460., -4082460., -4032460., -3982460., -3932460.,\n", - " -3882460., -3832460., -3782460., -3732460., -3682460., -3632460.,\n", - " -3582460., -3532460., -3482460., -3432460., -3382460., -3332460.,\n", - " -3282460., -3232460., -3182460., -3132460., -3082460., -3032460.,\n", - " -2982460., -2932460., -2882460., -2832460., -2782460., -2732460.,\n", - " -2682460., -2632460., -2582460., -2532460., -2482460., -2432460.,\n", - " -2382460., -2332460., -2282460., -2232460., -2182460., -2132460.,\n", - " -2082460., -2032460., -1982460., -1932460., -1882460., -1832460.,\n", - " -1782460., -1732460., -1682460., -1632460., -1582460., -1532460.,\n", - " -1482460., -1432460., -1382460., -1332460., -1282460., -1232460.,\n", - " -1182460., -1132460., -1082460., -1032460., -982460., -932460.,\n", - " -882460., -832460., -782460., -732460., -682460., -632460.,\n", - " -582460., -532460., -482460., -432460., -382460., -332460.,\n", - " -282460., -232460., -182460., -132460., -82460., -32460.,\n", - " 17540., 67540., 117540., 167540., 217540., 267540.,\n", - " 317540., 367540., 417540., 467540., 517540., 567540.,\n", - " 617540., 667540., 717540., 767540., 817540., 867540.,\n", - " 917540., 967540., 1017540., 1067540., 1117540., 1167540.,\n", - " 1217540., 1267540., 1317540., 1367540., 1417540., 1467540.,\n", - " 1517540., 1567540., 1617540., 1667540., 1717540., 1767540.,\n", - " 1817540., 1867540., 1917540., 1967540., 2017540., 2067540.,\n", - " 2117540., 2167540., 2217540., 2267540., 2317540., 2367540.,\n", - " 2417540., 2467540., 2517540., 2567540., 2617540., 2667540.,\n", - " 2717540., 2767540., 2817540., 2867540., 2917540., 2967540.,\n", - " 3017540., 3067540., 3117540., 3167540., 3217540., 3267540.,\n", - " 3317540., 3367540., 3417540., 3467540., 3517540., 3567540.,\n", - " 3617540., 3667540., 3717540., 3767540., 3817540., 3867540.,\n", - " 3917540., 3967540., 4017540., 4067540., 4117540., 4167540.,\n", - " 4217540., 4267540., 4317540., 4367540., 4417540., 4467540.,\n", - " 4517540., 4567540., 4617540., 4667540., 4717540., 4767540.,\n", - " 4817540., 4867540., 4917540., 4967540., 5017540., 5067540.,\n", - " 5117540., 5167540., 5217540., 5267540., 5317540., 5367540.,\n", - " 5417540., 5467540., 5517540., 5567540., 5617540., 5667540.,\n", - " 5717540., 5767540., 5817540., 5867540., 5917540., 5967540.,\n", - " 6017540., 6067540., 6117540., 6167540., 6217540., 6267540.,\n", - " 6317540., 6367540.])}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mercator_grid.y" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-1.01017500e+05, -5.10175000e+04, -1.01750000e+03, 4.89825000e+04,\n", - " 9.89825000e+04, 1.48982500e+05, 1.98982500e+05, 2.48982500e+05,\n", - " 2.98982500e+05, 3.48982500e+05, 3.98982500e+05, 4.48982500e+05,\n", - " 4.98982500e+05, 5.48982500e+05, 5.98982500e+05, 6.48982500e+05,\n", - " 6.98982500e+05, 7.48982500e+05, 7.98982500e+05, 8.48982500e+05,\n", - " 8.98982500e+05, 9.48982500e+05, 9.98982500e+05, 1.04898250e+06,\n", - " 1.09898250e+06, 1.14898250e+06, 1.19898250e+06, 1.24898250e+06,\n", - " 1.29898250e+06, 1.34898250e+06, 1.39898250e+06, 1.44898250e+06,\n", - " 1.49898250e+06, 1.54898250e+06, 1.59898250e+06, 1.64898250e+06,\n", - " 1.69898250e+06, 1.74898250e+06, 1.79898250e+06, 1.84898250e+06,\n", - " 1.89898250e+06, 1.94898250e+06, 1.99898250e+06, 2.04898250e+06,\n", - " 2.09898250e+06, 2.14898250e+06, 2.19898250e+06, 2.24898250e+06,\n", - " 2.29898250e+06, 2.34898250e+06, 2.39898250e+06, 2.44898250e+06,\n", - " 2.49898250e+06, 2.54898250e+06, 2.59898250e+06, 2.64898250e+06,\n", - " 2.69898250e+06, 2.74898250e+06, 2.79898250e+06, 2.84898250e+06,\n", - " 2.89898250e+06, 2.94898250e+06, 2.99898250e+06, 3.04898250e+06,\n", - " 3.09898250e+06, 3.14898250e+06, 3.19898250e+06, 3.24898250e+06,\n", - " 3.29898250e+06, 3.34898250e+06, 3.39898250e+06, 3.44898250e+06,\n", - " 3.49898250e+06, 3.54898250e+06, 3.59898250e+06, 3.64898250e+06,\n", - " 3.69898250e+06, 3.74898250e+06, 3.79898250e+06, 3.84898250e+06,\n", - " 3.89898250e+06, 3.94898250e+06, 3.99898250e+06, 4.04898250e+06,\n", - " 4.09898250e+06, 4.14898250e+06, 4.19898250e+06, 4.24898250e+06,\n", - " 4.29898250e+06, 4.34898250e+06, 4.39898250e+06, 4.44898250e+06,\n", - " 4.49898250e+06, 4.54898250e+06, 4.59898250e+06, 4.64898250e+06,\n", - " 4.69898250e+06, 4.74898250e+06, 4.79898250e+06, 4.84898250e+06,\n", - " 4.89898250e+06, 4.94898250e+06, 4.99898250e+06, 5.04898250e+06,\n", - " 5.09898250e+06, 5.14898250e+06, 5.19898250e+06, 5.24898250e+06,\n", - " 5.29898250e+06, 5.34898250e+06, 5.39898250e+06, 5.44898250e+06,\n", - " 5.49898250e+06, 5.54898250e+06, 5.59898250e+06, 5.64898250e+06,\n", - " 5.69898250e+06, 5.74898250e+06, 5.79898250e+06, 5.84898250e+06,\n", - " 5.89898250e+06, 5.94898250e+06, 5.99898250e+06, 6.04898250e+06,\n", - " 6.09898250e+06, 6.14898250e+06, 6.19898250e+06, 6.24898250e+06,\n", - " 6.29898250e+06, 6.34898250e+06, 6.39898250e+06, 6.44898250e+06,\n", - " 6.49898250e+06, 6.54898250e+06, 6.59898250e+06, 6.64898250e+06,\n", - " 6.69898250e+06, 6.74898250e+06, 6.79898250e+06, 6.84898250e+06,\n", - " 6.89898250e+06, 6.94898250e+06, 6.99898250e+06, 7.04898250e+06,\n", - " 7.09898250e+06, 7.14898250e+06, 7.19898250e+06, 7.24898250e+06,\n", - " 7.29898250e+06, 7.34898250e+06, 7.39898250e+06, 7.44898250e+06,\n", - " 7.49898250e+06, 7.54898250e+06, 7.59898250e+06, 7.64898250e+06,\n", - " 7.69898250e+06, 7.74898250e+06, 7.79898250e+06, 7.84898250e+06,\n", - " 7.89898250e+06, 7.94898250e+06, 7.99898250e+06, 8.04898250e+06,\n", - " 8.09898250e+06, 8.14898250e+06, 8.19898250e+06, 8.24898250e+06,\n", - " 8.29898250e+06, 8.34898250e+06, 8.39898250e+06, 8.44898250e+06,\n", - " 8.49898250e+06, 8.54898250e+06, 8.59898250e+06, 8.64898250e+06,\n", - " 8.69898250e+06, 8.74898250e+06, 8.79898250e+06, 8.84898250e+06,\n", - " 8.89898250e+06, 8.94898250e+06, 8.99898250e+06, 9.04898250e+06,\n", - " 9.09898250e+06, 9.14898250e+06, 9.19898250e+06, 9.24898250e+06,\n", - " 9.29898250e+06, 9.34898250e+06, 9.39898250e+06, 9.44898250e+06,\n", - " 9.49898250e+06, 9.54898250e+06, 9.59898250e+06, 9.64898250e+06,\n", - " 9.69898250e+06, 9.74898250e+06, 9.79898250e+06, 9.84898250e+06,\n", - " 9.89898250e+06, 9.94898250e+06, 9.99898250e+06, 1.00489825e+07,\n", - " 1.00989825e+07, 1.01489825e+07, 1.01989825e+07, 1.02489825e+07,\n", - " 1.02989825e+07, 1.03489825e+07])}" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mercator_grid.x" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/tutorials/2.Creation/2.8.Create_Global.ipynb b/tutorials/2.Creation/2.8.Create_Global.ipynb deleted file mode 100644 index 10c546d..0000000 --- a/tutorials/2.Creation/2.8.Create_Global.ipynb +++ /dev/null @@ -1,154 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to create global grids" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from nes import *" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "inc_lat = 0.1\n", - "inc_lon = 0.1\n", - "global_grid = create_nes(projection='global', \n", - " inc_lat=inc_lat, inc_lon=inc_lon)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Rank 000: Creating global_grid.nc\n", - "Rank 000: NetCDF ready to write\n", - "Rank 000: Dimensions done\n" - ] - } - ], - "source": [ - "global_grid.to_netcdf('global_grid.nc', info=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Proj('+proj=longlat +ellps=WGS84 +no_defs', preserve_units=True)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "global_grid.projection" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'grid_mapping_name': 'latitude_longitude',\n", - " 'semi_major_axis': '6378137.0',\n", - " 'inverse_flattening': '0'}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "global_grid.projection_data" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-89.95, -89.85, -89.75, ..., 89.65, 89.75, 89.85])}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "global_grid.lat" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'data': array([-179.95, -179.85, -179.75, ..., 179.65, 179.75, 179.85])}" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "global_grid.lon" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/tutorials/2.Creation/2.8.Create_Mercator.ipynb b/tutorials/2.Creation/2.8.Create_Mercator.ipynb new file mode 100644 index 0000000..08d316e --- /dev/null +++ b/tutorials/2.Creation/2.8.Create_Mercator.ipynb @@ -0,0 +1,305 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to create Mercator grids" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "lat_ts = -1.5\n", + "lon_0 = -18.0\n", + "nx = 210\n", + "ny = 236\n", + "inc_x = 50000\n", + "inc_y = 50000\n", + "x_0 = -126017.5\n", + "y_0 = -5407460.0\n", + "mercator_grid = create_nes(comm=None, info=False, projection='mercator',\n", + " lat_ts=lat_ts, lon_0=lon_0, nx=nx, ny=ny, \n", + " inc_x=inc_x, inc_y=inc_y, x_0=x_0, y_0=y_0)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank 000: Creating mercator_grid.nc\n", + "Rank 000: NetCDF ready to write\n", + "Rank 000: Dimensions done\n" + ] + } + ], + "source": [ + "mercator_grid.to_netcdf('mercator_grid.nc', info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Proj('+proj=merc +lat_ts=-1.5 +lon_0=-18 +x_0=0 +y_0=0 +a=6378137 +b=6356752.3142 +units=m +no_defs', preserve_units=True)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mercator_grid.projection" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'grid_mapping_name': 'mercator',\n", + " 'standard_parallel': -1.5,\n", + " 'longitude_of_projection_origin': -18.0,\n", + " 'x_0': -126017.5,\n", + " 'y_0': -5407460.0,\n", + " 'inc_x': 50000,\n", + " 'inc_y': 50000,\n", + " 'nx': 210,\n", + " 'ny': 236}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mercator_grid.projection_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-19.13242 -43.82824, -18.68311 -43.8...
1POLYGON ((-18.68311 -43.82824, -18.23380 -43.8...
2POLYGON ((-18.23380 -43.82824, -17.78449 -43.8...
3POLYGON ((-17.78449 -43.82824, -17.33518 -43.8...
4POLYGON ((-17.33518 -43.82824, -16.88587 -43.8...
......
49555POLYGON ((72.97625 49.59982, 73.42556 49.59982...
49556POLYGON ((73.42556 49.59982, 73.87487 49.59982...
49557POLYGON ((73.87487 49.59982, 74.32418 49.59982...
49558POLYGON ((74.32418 49.59982, 74.77349 49.59982...
49559POLYGON ((74.77349 49.59982, 75.22280 49.59982...
\n", + "

49560 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " geometry\n", + "FID \n", + "0 POLYGON ((-19.13242 -43.82824, -18.68311 -43.8...\n", + "1 POLYGON ((-18.68311 -43.82824, -18.23380 -43.8...\n", + "2 POLYGON ((-18.23380 -43.82824, -17.78449 -43.8...\n", + "3 POLYGON ((-17.78449 -43.82824, -17.33518 -43.8...\n", + "4 POLYGON ((-17.33518 -43.82824, -16.88587 -43.8...\n", + "... ...\n", + "49555 POLYGON ((72.97625 49.59982, 73.42556 49.59982...\n", + "49556 POLYGON ((73.42556 49.59982, 73.87487 49.59982...\n", + "49557 POLYGON ((73.87487 49.59982, 74.32418 49.59982...\n", + "49558 POLYGON ((74.32418 49.59982, 74.77349 49.59982...\n", + "49559 POLYGON ((74.77349 49.59982, 75.22280 49.59982...\n", + "\n", + "[49560 rows x 1 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mercator_grid.create_shapefile()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "mercator_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/tutorials/2.Creation/2.9.Create_Global.ipynb b/tutorials/2.Creation/2.9.Create_Global.ipynb new file mode 100644 index 0000000..b3e583e --- /dev/null +++ b/tutorials/2.Creation/2.9.Create_Global.ipynb @@ -0,0 +1,299 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to create global grids" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from nes import *\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create grid" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "inc_lat = 0.5\n", + "inc_lon = 0.5\n", + "global_grid = create_nes(projection='global', \n", + " inc_lat=inc_lat, inc_lon=inc_lon)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank 000: Creating global_grid.nc\n", + "Rank 000: NetCDF ready to write\n", + "Rank 000: Dimensions done\n" + ] + } + ], + "source": [ + "global_grid.to_netcdf('global_grid.nc', info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Proj('+proj=longlat +ellps=WGS84 +no_defs', preserve_units=True)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "global_grid.projection" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'grid_mapping_name': 'latitude_longitude',\n", + " 'semi_major_axis': 6378137.0,\n", + " 'inverse_flattening': 0,\n", + " 'inc_lat': 0.5,\n", + " 'inc_lon': 0.5,\n", + " 'lat_orig': -90,\n", + " 'lon_orig': -180,\n", + " 'n_lat': 360,\n", + " 'n_lon': 720}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "global_grid.projection_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometry
FID
0POLYGON ((-180.00000 -90.00000, -179.50000 -90...
1POLYGON ((-179.50000 -90.00000, -179.00000 -90...
2POLYGON ((-179.00000 -90.00000, -178.50000 -90...
3POLYGON ((-178.50000 -90.00000, -178.00000 -90...
4POLYGON ((-178.00000 -90.00000, -177.50000 -90...
......
259195POLYGON ((177.50000 89.50000, 178.00000 89.500...
259196POLYGON ((178.00000 89.50000, 178.50000 89.500...
259197POLYGON ((178.50000 89.50000, 179.00000 89.500...
259198POLYGON ((179.00000 89.50000, 179.50000 89.500...
259199POLYGON ((179.50000 89.50000, 180.00000 89.500...
\n", + "

259200 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " geometry\n", + "FID \n", + "0 POLYGON ((-180.00000 -90.00000, -179.50000 -90...\n", + "1 POLYGON ((-179.50000 -90.00000, -179.00000 -90...\n", + "2 POLYGON ((-179.00000 -90.00000, -178.50000 -90...\n", + "3 POLYGON ((-178.50000 -90.00000, -178.00000 -90...\n", + "4 POLYGON ((-178.00000 -90.00000, -177.50000 -90...\n", + "... ...\n", + "259195 POLYGON ((177.50000 89.50000, 178.00000 89.500...\n", + "259196 POLYGON ((178.00000 89.50000, 178.50000 89.500...\n", + "259197 POLYGON ((178.50000 89.50000, 179.00000 89.500...\n", + "259198 POLYGON ((179.00000 89.50000, 179.50000 89.500...\n", + "259199 POLYGON ((179.50000 89.50000, 180.00000 89.500...\n", + "\n", + "[259200 rows x 1 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "global_grid.create_shapefile()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "countries = gpd.read_file('/esarchive/shapefiles/gadm_country_mask/gadm_country_ISO3166.shp')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyMAAAGbCAYAAADX1U/0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAWMElEQVR4nO3dbYzsZ3nf8d9Vn4Jo6somHMDlocdQgwSoPRWLVQkBodDwoCoOkUjNC0qbqMZVLFqpLwpBahFRpIpCkdqmRAfViislPFTUYFGSYFBEVKkQjsEiNsbFNiYYW/aGZymRI5urL3ZOtZBZr/HM7rVn9vORRjvz/8/Mfc+954z9PfOfmeruAAAAHLa/Mj0BAADgeBIjAADACDECAACMECMAAMAIMQIAAIw4MT2B3Z70pCf1qVOnpqcBAACsyU033fSn3X1y2b4jFSOnTp3K2bNnp6cBAACsSVV9fa99DtMCAABGiBEAAGCEGAEAAEaIEQAAYIQYAQAARogRAABghBgBAABGiBEAAGCEGAEAAEaIEQAAYIQYAQAARogRAABghBgBAABGiBEAAGCEGAEAAEaIEQAAYMSJ6QkcVU98YvLd7+5/ve6k6mDnctBjbMJjOIwxPIajMcYmPIbDGMNjOBpjbMJjOIwxPIbjM4bHcLhjXHRR8u1vr34/B0mM7OE733n01+0+uHkc1hib8BgOYwyP4WiMsQmP4TDG8BiOxhib8BgOYwyP4fiM4TEc3hg/yf/PTnGYFgAAbKCDfgVnHcQIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBCjAAAACNOrHoHVfXcJB/atelZSf5tkouS/PMk24vtv9rdn1h1PAAAYDOsHCPdfXuS00lSVRck+WaS65P8syTv7e53rzoGAADwk+mensH+1n2Y1iuS3NndX1/z/QIAAD+BqukZ7G/dMXJlkg/sunxNVX2pqq6tqouX3aCqrqqqs1V1dnt7e9lVAACADbS2GKmqxyX5uST/Y7HpfUmenZ1DuO5L8p5lt+vuM9291d1bJ0+eXNd0AACAI26dr4y8JskXuvv+JOnu+7v74e7+YZL3J7l8jWMBAADnuXXGyBuy6xCtqrpk177XJblljWMBAADnuZU/TStJquqvJfmHSd68a/O7qup0kk5y94/tAwAAjrm1xEh3/1mSn/6xbW9cx30DAACbyTewL/G1r31tegoAALCio/9FI2JkiS984QvTUwAAgI0nRpZ4wQteMD0FAADYeGJkiec+97nTUwAAgBUd/a9gFyMAAMAIMbLEddddNz0FAABYkTewn5cuuOCC6SkAAMBK+ui3iBhZ5uKLL56eAgAArKSO/ltGxAgAADBDjAAAACPECAAAMEKMLPHVr351egoAALDxxMgS3/ve96anAAAAG0+MAAAAI8TIEm95y1umpwAAACs6+p/tK0aW8D0jAABw8MQIAAAwQowAAMAG6p6ewf7ECAAAbKA6+m8ZESMAAMAMMQIAAIwQIwAAwAgxAgAAjBAjAADACDECAACMECMAAMAIMQIAAIwQIwAAwAgxAgAAjBAjAADACDECAACMECMAAMAIMQIAAIwQIwAAwAgxAgAAjBAjAADACDECAACMECMAAMAIMQIAAIw4sY47qaq7k/wgycNJHururap6YpIPJTmV5O4kv9jd31nHeAAAwPlvna+MvLy7T3f31uLyW5N8ursvS/LpxWUAAIAkB3uY1hVJrlucvy7Jzx/gWAAAwC7d0zPY37pipJN8sqpuqqqrFtue0t33Jcni55OX3bCqrqqqs1V1dnt7e03TAQCA461qegb7W8t7RpK8uLvvraonJ7mxqr7yaG/Y3WeSnEmSra2t86DfAACAdVjLKyPdfe/i5wNJrk9yeZL7q+qSJFn8fGAdYwEAAJth5Ripqp+qqgvPnU/ys0luSXJDkjctrvamJB9bdSwAAGBzrOMwrackub52Dko7keR3uvv3qurzST5cVb+c5E+SvH4NYwEAABti5Rjp7ruS/N0l27+V5BWr3j8AALCZfAM7AAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAABsoO7pGexPjAAAwAaqmp7B/sQIAAAwQowAAAAjxAgAADBCjAAAACPECAAAMEKMAAAAI8QIAAAwQowAAAAjxAgAADBC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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, figsize=(20, 7))\n", + "countries.plot(ax=ax, facecolor=\"none\", edgecolor='grey')\n", + "global_grid.shapefile.plot(ax=ax, facecolor=\"none\", edgecolor='blue')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + }, + "toc-autonumbering": true + }, + "nbformat": 4, + "nbformat_minor": 4 +} -- GitLab