diff --git a/nes/interpolation/horizontal_interpolation.py b/nes/interpolation/horizontal_interpolation.py index 74dadd918532cfc0b205b13da10361380816b95e..972c990a949003fa9498780c2259aa50510f63e5 100644 --- a/nes/interpolation/horizontal_interpolation.py +++ b/nes/interpolation/horizontal_interpolation.py @@ -44,10 +44,16 @@ def interpolate_horizontal(self, dst_grid, weight_matrix_path=None, kind='Neares raise NotImplemented("Parallel method {0} is not implemented yet for horizontal interpolations. Use 'T'".format( self.parallel_method)) - # Apply weights + # Copy NES final_dst = dst_grid.copy() final_dst.set_communicator(dst_grid.comm) - # return final_dst + + # Remove original file information + final_dst.__ini_path = None + final_dst.netcdf = None + final_dst.dataset = None + + # Return final_dst final_dst.lev = self.lev final_dst._lev = self._lev final_dst.time = self.time @@ -55,6 +61,7 @@ def interpolate_horizontal(self, dst_grid, weight_matrix_path=None, kind='Neares final_dst.hours_start = self.hours_start final_dst.hours_end = self.hours_end + # Apply weights for var_name, var_info in self.variables.items(): if info and self.master: print("\t{var} horizontal interpolation".format(var=var_name)) @@ -100,6 +107,12 @@ def interpolate_horizontal(self, dst_grid, weight_matrix_path=None, kind='Neares else: msg = "The final projection must be points to interpolate an experiment and get it in Providentia format." warnings.warn(msg) + else: + # Convert dimensions (time, lev, lat, lon) to (time, station) for interpolated variables and reshape data + if isinstance(final_dst, nes.PointsNes): + for var_name, var_info in final_dst.variables.items(): + if var_info['dimensions'] == ('time', 'lev', 'lat', 'lon') and len(var_info['data'].shape) == 2: + final_dst.variables[var_name]['dimensions'] = ('time', 'station') return final_dst diff --git a/nes/interpolation/vertical_interpolation.py b/nes/interpolation/vertical_interpolation.py index 461dbcba90441444aa5ae779c4b35947006caeb1..88e2a86fc5597e8f5c4448bc8a8510b7a24b2d5a 100644 --- a/nes/interpolation/vertical_interpolation.py +++ b/nes/interpolation/vertical_interpolation.py @@ -99,7 +99,7 @@ def interpolate_vertical(self, new_levels, new_src_vertical=None, kind='linear', # Loop over variables for var_name in self.variables.keys(): if self.variables[var_name]['data'] is None: - # Loading data if it is not loaded yet + # Load data if it is not loaded yet self.load(var_name) if var_name != self.vertical_var_name: @@ -119,7 +119,7 @@ def interpolate_vertical(self, new_levels, new_src_vertical=None, kind='linear', for i in range(nx): curr_level_values = src_levels[t, :, j, i] try: - # check if all values are identical or masked + # Check if all values are identical or masked if ((isinstance(curr_level_values, np.ndarray) and (curr_level_values == curr_level_values[0]).all()) or (isinstance(curr_level_values, np.ma.core.MaskedArray) and @@ -171,7 +171,7 @@ def interpolate_vertical(self, new_levels, new_src_vertical=None, kind='linear', self.variables[var_name]['data'] = copy(dst_data) # print(self.variables[var_name]['data']) - # Updating level information + # Update level information new_lev_info = {'data': new_levels} for var_attr, attr_info in self.variables[self.vertical_var_name].items(): if var_attr not in ['data', 'dimensions', 'crs', 'grid_mapping']: @@ -180,5 +180,10 @@ def interpolate_vertical(self, new_levels, new_src_vertical=None, kind='linear', self._lev = new_lev_info self.free_vars(self.vertical_var_name) self.vertical_var_name = None + + # Remove original file information + self.__ini_path = None + self.dataset = None + self.netcdf = None return self diff --git a/nes/nc_projections/default_nes.py b/nes/nc_projections/default_nes.py index 8f03f5041cd3145b8cbd1783bf104f31b82ba374..33d86b139cfd3f29bc80c7f26bf60fb20f8584fe 100644 --- a/nes/nc_projections/default_nes.py +++ b/nes/nc_projections/default_nes.py @@ -622,6 +622,7 @@ class Nes(object): def sel(self, hours_start=None, time_min=None, hours_end=None, time_max=None, lev_min=None, lev_max=None, lat_min=None, lat_max=None, lon_min=None, lon_max=None): + loaded_vars = False for var_info in self.variables.values(): if var_info['data'] is not None: @@ -664,6 +665,7 @@ class Nes(object): # New Axis limits self.read_axis_limits = self.get_read_axis_limits() + # Dimensions screening self.time = self._time[self.read_axis_limits['t_min']:self.read_axis_limits['t_max']] self.time_bnds = self._time_bnds @@ -1209,13 +1211,14 @@ class Nes(object): dataset : xr.Dataset Opened dataset. """ - + if self.master: warnings.filterwarnings('ignore') # Disabling warnings while reading MONARCH original file dataset = open_dataset(self.__ini_path, decode_coords='all') warnings.filterwarnings('default') # Re-activating warnings else: dataset = None + dataset = self.comm.bcast(dataset, root=0) self.dataset = dataset @@ -1500,11 +1503,14 @@ class Nes(object): Dictionary with the 'data' key with the coordinate variable values. and the attributes as other keys. coordinate_axis : str Name of the coordinate to extract. Accepted values: ['Z', 'Y', 'X']. + bounds : bool + Boolean variable to know if there are coordinate bounds. Returns ------- values : dict Dictionary with the portion of data corresponding to the rank. """ + if coordinate_info is None: return None @@ -1644,6 +1650,9 @@ class Nes(object): var_list : list, str List (or single string) of the variables to be loaded. """ + + if (self.__ini_path is None) and (self.dataset is None) and (self.netcdf is None): + raise RuntimeError('Only data from existent files can be loaded.') if self.netcdf is None: self.__open_dataset() @@ -1661,6 +1670,9 @@ class Nes(object): print("Rank {0:03d}: Loading {1} var ({2}/{3})".format(self.rank, var_name, i + 1, len(var_list))) if self.variables[var_name]['data'] is None: self.variables[var_name]['data'] = self._read_variable(var_name) + else: + if self.master: + print("Data for {0} was previously loaded. Skipping variable.".format(var_name)) if self.info: print("Rank {0:03d}: Loaded {1} var ({2})".format( self.rank, var_name, self.variables[var_name]['data'].shape)) diff --git a/nes/nc_projections/points_nes.py b/nes/nc_projections/points_nes.py index d5ef1f2457f9dbfb8af23fcf7e463e7d976c6617..218a6a66d669a37d7ff4f82f3ea6ca99c124ba8b 100644 --- a/nes/nc_projections/points_nes.py +++ b/nes/nc_projections/points_nes.py @@ -219,7 +219,7 @@ class PointsNes(Nes): return None - def _get_coordinate_values(self, coordinate_info, coordinate_axis): + def _get_coordinate_values(self, coordinate_info, coordinate_axis, bounds=False): """ Get the coordinate data of the current portion. @@ -229,16 +229,25 @@ class PointsNes(Nes): Dictionary with the 'data' key with the coordinate variable values. and the attributes as other keys. coordinate_axis : str Name of the coordinate to extract. Accepted values: ['X']. + bounds : bool + Boolean variable to know if there are coordinate bounds. Returns ------- values : dict Dictionary with the portion of data corresponding to the rank. """ - values = deepcopy(coordinate_info) - if isinstance(coordinate_info, list): + if coordinate_info is None: + return None + + if not isinstance(coordinate_info, dict): values = {'data': deepcopy(coordinate_info)} + else: + values = deepcopy(coordinate_info) + coordinate_len = len(values['data'].shape) + if bounds: + coordinate_len -= 1 if coordinate_axis == 'X': if coordinate_len == 1: @@ -601,12 +610,12 @@ class PointsNes(Nes): lon=self.lon['data'] ) - # Convert dimensions (time, lat, lon) to (time, station) for interpolated variables and reshape data + # Convert dimensions (time, lev, lat, lon) to (station, time) for interpolated variables and reshape data variables = {} interpolated_variables = deepcopy(self.variables) for var_name, var_info in interpolated_variables.items(): variables[var_name] = {} - if var_info['dimensions'] == ('time', 'lat', 'lon') and len(var_info['data'].shape) == 2: + if var_info['dimensions'] == ('time', 'lev', 'lat', 'lon') and len(var_info['data'].shape) == 2: variables[var_name]['data'] = var_info['data'].T variables[var_name]['dimensions'] = ('station', 'time') else: diff --git a/nes/nc_projections/points_nes_ghost.py b/nes/nc_projections/points_nes_ghost.py index 7951bcfe77fbea75d2b68e82635f2435ef085fc7..6dece347f36312e19ded3ed0a0baf72bcdffc8c9 100644 --- a/nes/nc_projections/points_nes_ghost.py +++ b/nes/nc_projections/points_nes_ghost.py @@ -227,7 +227,7 @@ class PointsNesGHOST(PointsNes): return None - def _get_coordinate_values(self, coordinate_info, coordinate_axis): + def _get_coordinate_values(self, coordinate_info, coordinate_axis, bounds=False): """ Get the coordinate data of the current portion. @@ -237,16 +237,25 @@ class PointsNesGHOST(PointsNes): Dictionary with the 'data' key with the coordinate variable values. and the attributes as other keys. coordinate_axis : str Name of the coordinate to extract. Accepted values: ['X']. + bounds : bool + Boolean variable to know if there are coordinate bounds. Returns ------- values : dict Dictionary with the portion of data corresponding to the rank. """ - values = deepcopy(coordinate_info) - if isinstance(coordinate_info, list): + if coordinate_info is None: + return None + + if not isinstance(coordinate_info, dict): values = {'data': deepcopy(coordinate_info)} + else: + values = deepcopy(coordinate_info) + coordinate_len = len(values['data'].shape) + if bounds: + coordinate_len -= 1 if coordinate_axis == 'X': if coordinate_len == 1: @@ -609,8 +618,12 @@ class PointsNesGHOST(PointsNes): lon=self.lon['data'], times=self.time ) - - GHOST_version = str(float(np.unique(self.variables['GHOST_version']['data']))) + + # The version attribute in GHOST files prior to 1.3.3 is called data_version, after it is version + if 'version' in self.global_attrs: + GHOST_version = self.global_attrs['version'] + elif 'data_version' in self.global_attrs: + GHOST_version = self.global_attrs['data_version'] metadata_variables = self.get_standard_metadata(GHOST_version) self.free_vars(metadata_variables) self.free_vars('station') diff --git a/nes/nc_projections/points_nes_providentia.py b/nes/nc_projections/points_nes_providentia.py index 499cd7af261e3fc43250ae905547d731d0b81f7e..f0457f81e3bc825be24cd078403a39eb9b0da870 100644 --- a/nes/nc_projections/points_nes_providentia.py +++ b/nes/nc_projections/points_nes_providentia.py @@ -260,7 +260,7 @@ class PointsNesProvidentia(PointsNes): self.free_vars(('model_centre_longitude', 'model_centre_latitude', 'grid_edge_longitude', 'grid_edge_latitude')) - def _get_coordinate_values(self, coordinate_info, coordinate_axis): + def _get_coordinate_values(self, coordinate_info, coordinate_axis, bounds=False): """ Get the coordinate data of the current portion. @@ -270,16 +270,25 @@ class PointsNesProvidentia(PointsNes): Dictionary with the 'data' key with the coordinate variable values. and the attributes as other keys. coordinate_axis : str Name of the coordinate to extract. Accepted values: ['X']. + bounds : bool + Boolean variable to know if there are coordinate bounds. Returns ------- values : dict Dictionary with the portion of data corresponding to the rank. """ - values = deepcopy(coordinate_info) - if isinstance(coordinate_info, list): + if coordinate_info is None: + return None + + if not isinstance(coordinate_info, dict): values = {'data': deepcopy(coordinate_info)} + else: + values = deepcopy(coordinate_info) + coordinate_len = len(values['data'].shape) + if bounds: + coordinate_len -= 1 if coordinate_axis == 'X': if coordinate_len == 1: diff --git a/tests/3-test_spatial_join.py b/tests/3-test_spatial_join.py index e456c64ee2cd1ea24e63e864f851678d37cc5936..77662f94197e4c3d6f04605510bb482b048aad31 100644 --- a/tests/3-test_spatial_join.py +++ b/tests/3-test_spatial_join.py @@ -79,7 +79,7 @@ for method in ['spatial_overlay', 'spatial_join']: coordinates.write_shapefile('coordinates_{0}_{1}'.format(projection, projection_type)) - mask_path = '/esarchive/scratch/avilanova/software/NES/tutorials/data/timezones_2021c/timezones_2021c.shp' + mask_path = '/esarchive/shapefiles/timezones/timezones_2021c/timezones_2021c.shp' mask = gpd.read_file(mask_path) # Spatial overlay (old method) diff --git a/tutorials/5.Others/5.4.Spatial_Join.ipynb b/tutorials/5.Others/5.4.Spatial_Join.ipynb index b00e62288dc5f117c373579760892b9c5d86452a..097ff78f928fee83629e49a7360514e29341691a 100644 --- a/tutorials/5.Others/5.4.Spatial_Join.ipynb +++ b/tutorials/5.Others/5.4.Spatial_Join.ipynb @@ -153,31 +153,23 @@ "metadata": {}, "outputs": [], "source": [ - "mask_path = '/esarchive/scratch/avilanova/software/NES/tutorials/data/timezones_2021c/timezones_2021c.shp'\n", + "mask_path = '/esarchive/shapefiles/timezones/timezones_2021c/timezones_2021c.shp'\n", "mask = gpd.read_file(mask_path)" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/default_nes.py:2190: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n", + "/esarchive/scratch/avilanova/software/NES/nes/nc_projections/default_nes.py:2470: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n", "\n", " shapefile_aux.geometry = self.shapefile.centroid\n" ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 15.2 s, sys: 680 ms, total: 15.9 s\n", - "Wall time: 15.9 s\n" - ] } ], "source": [ @@ -186,123 +178,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - " | geometry | \n", - "tzid | \n", - "
---|---|---|
FID | \n", - "\n", - " | \n", - " |
0 | \n", - "POLYGON ((1.80000 41.10000, 2.00000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
1 | \n", - "POLYGON ((2.00000 41.10000, 2.20000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
2 | \n", - "POLYGON ((2.20000 41.10000, 2.40000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
3 | \n", - "POLYGON ((2.40000 41.10000, 2.60000 41.10000, ... | \n", - "NaN | \n", - "
4 | \n", - "POLYGON ((2.60000 41.10000, 2.80000 41.10000, ... | \n", - "NaN | \n", - "
... | \n", - "... | \n", - "... | \n", - "
9995 | \n", - "POLYGON ((20.80000 60.90000, 21.00000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9996 | \n", - "POLYGON ((21.00000 60.90000, 21.20000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9997 | \n", - "POLYGON ((21.20000 60.90000, 21.40000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9998 | \n", - "POLYGON ((21.40000 60.90000, 21.60000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9999 | \n", - "POLYGON ((21.60000 60.90000, 21.80000 60.90000... | \n", - "Europe/Helsinki | \n", - "
10000 rows × 2 columns
\n", - "\n", - " | geometry | \n", - "
---|---|
FID | \n", - "\n", - " |
0 | \n", - "POLYGON ((1.80000 41.10000, 2.00000 41.10000, ... | \n", - "
1 | \n", - "POLYGON ((2.00000 41.10000, 2.20000 41.10000, ... | \n", - "
2 | \n", - "POLYGON ((2.20000 41.10000, 2.40000 41.10000, ... | \n", - "
3 | \n", - "POLYGON ((2.40000 41.10000, 2.60000 41.10000, ... | \n", - "
4 | \n", - "POLYGON ((2.60000 41.10000, 2.80000 41.10000, ... | \n", - "
... | \n", - "... | \n", - "
95 | \n", - "POLYGON ((2.80000 42.90000, 3.00000 42.90000, ... | \n", - "
96 | \n", - "POLYGON ((3.00000 42.90000, 3.20000 42.90000, ... | \n", - "
97 | \n", - "POLYGON ((3.20000 42.90000, 3.40000 42.90000, ... | \n", - "
98 | \n", - "POLYGON ((3.40000 42.90000, 3.60000 42.90000, ... | \n", - "
99 | \n", - "POLYGON ((3.60000 42.90000, 3.80000 42.90000, ... | \n", - "
100 rows × 1 columns
\n", - "\n", - " | geometry | \n", - "
---|---|
FID | \n", - "\n", - " |
0 | \n", - "POLYGON ((1.80000 41.10000, 2.00000 41.10000, ... | \n", - "
1 | \n", - "POLYGON ((2.00000 41.10000, 2.20000 41.10000, ... | \n", - "
2 | \n", - "POLYGON ((2.20000 41.10000, 2.40000 41.10000, ... | \n", - "
3 | \n", - "POLYGON ((2.40000 41.10000, 2.60000 41.10000, ... | \n", - "
4 | \n", - "POLYGON ((2.60000 41.10000, 2.80000 41.10000, ... | \n", - "
... | \n", - "... | \n", - "
95 | \n", - "POLYGON ((2.80000 42.90000, 3.00000 42.90000, ... | \n", - "
96 | \n", - "POLYGON ((3.00000 42.90000, 3.20000 42.90000, ... | \n", - "
97 | \n", - "POLYGON ((3.20000 42.90000, 3.40000 42.90000, ... | \n", - "
98 | \n", - "POLYGON ((3.40000 42.90000, 3.60000 42.90000, ... | \n", - "
99 | \n", - "POLYGON ((3.60000 42.90000, 3.80000 42.90000, ... | \n", - "
100 rows × 1 columns
\n", - "\n", - " | geometry | \n", - "
---|---|
FID | \n", - "\n", - " |
0 | \n", - "POLYGON ((1.80000 41.10000, 2.00000 41.10000, ... | \n", - "
1 | \n", - "POLYGON ((2.00000 41.10000, 2.20000 41.10000, ... | \n", - "
2 | \n", - "POLYGON ((2.20000 41.10000, 2.40000 41.10000, ... | \n", - "
3 | \n", - "POLYGON ((2.40000 41.10000, 2.60000 41.10000, ... | \n", - "
4 | \n", - "POLYGON ((2.60000 41.10000, 2.80000 41.10000, ... | \n", - "
... | \n", - "... | \n", - "
9995 | \n", - "POLYGON ((20.80000 60.90000, 21.00000 60.90000... | \n", - "
9996 | \n", - "POLYGON ((21.00000 60.90000, 21.20000 60.90000... | \n", - "
9997 | \n", - "POLYGON ((21.20000 60.90000, 21.40000 60.90000... | \n", - "
9998 | \n", - "POLYGON ((21.40000 60.90000, 21.60000 60.90000... | \n", - "
9999 | \n", - "POLYGON ((21.60000 60.90000, 21.80000 60.90000... | \n", - "
10000 rows × 1 columns
\n", - "\n", - " | geometry | \n", - "tzid | \n", - "
---|---|---|
FID | \n", - "\n", - " | \n", - " |
0 | \n", - "POLYGON ((1.80000 41.10000, 2.00000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
1 | \n", - "POLYGON ((2.00000 41.10000, 2.20000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
2 | \n", - "POLYGON ((2.20000 41.10000, 2.40000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
3 | \n", - "POLYGON ((2.40000 41.10000, 2.60000 41.10000, ... | \n", - "Europe/Madrid | \n", - "
4 | \n", - "POLYGON ((2.60000 41.10000, 2.80000 41.10000, ... | \n", - "NaN | \n", - "
... | \n", - "... | \n", - "... | \n", - "
9995 | \n", - "POLYGON ((20.80000 60.90000, 21.00000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9996 | \n", - "POLYGON ((21.00000 60.90000, 21.20000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9997 | \n", - "POLYGON ((21.20000 60.90000, 21.40000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9998 | \n", - "POLYGON ((21.40000 60.90000, 21.60000 60.90000... | \n", - "Europe/Helsinki | \n", - "
9999 | \n", - "POLYGON ((21.60000 60.90000, 21.80000 60.90000... | \n", - "Europe/Helsinki | \n", - "
10000 rows × 2 columns
\n", - "<xarray.Dataset>\n", + "Dimensions: (time: 25, lev: 1, lat: 181, lon: 257)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 2020-06-01 2020-06-01T01:00:00 ... 2020-06-02\n", + " * lev (lev) float64 0.0\n", + " * lat (lat) float64 -90.0 -89.0 -88.0 -87.0 -86.0 ... 87.0 88.0 89.0 90.0\n", + " * lon (lon) float64 -180.0 -178.6 -177.2 -175.8 ... 177.2 178.6 180.0\n", + "Data variables:\n", + " od550du (time, lev, lat, lon) float32 ...\n", + " crs int32 -2147483647\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " comment: Generated on marenostrum4
array(['2020-06-01T00:00:00.000000000', '2020-06-01T01:00:00.000000000',\n", + " '2020-06-01T02:00:00.000012999', '2020-06-01T03:00:00.000000000',\n", + " '2020-06-01T04:00:00.000000000', '2020-06-01T05:00:00.000013000',\n", + " '2020-06-01T06:00:00.000000000', '2020-06-01T07:00:00.000000000',\n", + " '2020-06-01T08:00:00.000013000', '2020-06-01T09:00:00.000000000',\n", + " '2020-06-01T10:00:00.000000000', '2020-06-01T11:00:00.000012999',\n", + " '2020-06-01T12:00:00.000000000', '2020-06-01T13:00:00.000000000',\n", + " '2020-06-01T14:00:00.000012999', '2020-06-01T15:00:00.000000000',\n", + " '2020-06-01T16:00:00.000000000', '2020-06-01T17:00:00.000012999',\n", + " '2020-06-01T18:00:00.000000000', '2020-06-01T19:00:00.000000000',\n", + " '2020-06-01T20:00:00.000013000', '2020-06-01T21:00:00.000000000',\n", + " '2020-06-01T22:00:00.000000000', '2020-06-01T23:00:00.000013000',\n", + " '2020-06-02T00:00:00.000000000'], dtype='datetime64[ns]')
array([0.])
array([-90., -89., -88., -87., -86., -85., -84., -83., -82., -81., -80., -79.,\n", + " -78., -77., -76., -75., -74., -73., -72., -71., -70., -69., -68., -67.,\n", + " -66., -65., -64., -63., -62., -61., -60., -59., -58., -57., -56., -55.,\n", + " -54., -53., -52., -51., -50., -49., -48., -47., -46., -45., -44., -43.,\n", + " -42., -41., -40., -39., -38., -37., -36., -35., -34., -33., -32., -31.,\n", + " -30., -29., -28., -27., -26., -25., -24., -23., -22., -21., -20., -19.,\n", + " -18., -17., -16., -15., -14., -13., -12., -11., -10., -9., -8., -7.,\n", + " -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,\n", + " 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17.,\n", + " 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29.,\n", + " 30., 31., 32., 33., 34., 35., 36., 37., 38., 39., 40., 41.,\n", + " 42., 43., 44., 45., 46., 47., 48., 49., 50., 51., 52., 53.,\n", + " 54., 55., 56., 57., 58., 59., 60., 61., 62., 63., 64., 65.,\n", + " 66., 67., 68., 69., 70., 71., 72., 73., 74., 75., 76., 77.,\n", + " 78., 79., 80., 81., 82., 83., 84., 85., 86., 87., 88., 89.,\n", + " 90.])
array([-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ])
[1162925 values with dtype=float32]
array(-2147483647, dtype=int32)
\n", + " | geometry | \n", + "od550du | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POLYGON ((-180.70312 -90.50000, -179.29688 -90... | \n", + "0.000144 | \n", + "
1 | \n", + "POLYGON ((-179.29688 -90.50000, -177.89062 -90... | \n", + "0.000144 | \n", + "
2 | \n", + "POLYGON ((-177.89062 -90.50000, -176.48438 -90... | \n", + "0.000144 | \n", + "
3 | \n", + "POLYGON ((-176.48438 -90.50000, -175.07812 -90... | \n", + "0.000144 | \n", + "
4 | \n", + "POLYGON ((-175.07812 -90.50000, -173.67188 -90... | \n", + "0.000144 | \n", + "
... | \n", + "... | \n", + "... | \n", + "
46512 | \n", + "POLYGON ((173.67188 89.50000, 175.07812 89.500... | \n", + "0.023041 | \n", + "
46513 | \n", + "POLYGON ((175.07812 89.50000, 176.48438 89.500... | \n", + "0.023041 | \n", + "
46514 | \n", + "POLYGON ((176.48438 89.50000, 177.89062 89.500... | \n", + "0.023041 | \n", + "
46515 | \n", + "POLYGON ((177.89062 89.50000, 179.29688 89.500... | \n", + "0.023041 | \n", + "
46516 | \n", + "POLYGON ((179.29688 89.50000, 180.70312 89.500... | \n", + "0.023041 | \n", + "
46517 rows × 2 columns
\n", + "<xarray.Dataset>\n", + "Dimensions: (station: 366, time: 720, N_flag_codes: 190, N_qa_codes: 77)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] ...\n", + "Dimensions without coordinates: station, N_flag_codes, N_qa_codes\n", + "Data variables: (12/180)\n", + " ASTER_v3_altitude (station) float32 ...\n", + " EDGAR_v4.3.2_annual_average_BC_emissions (station) float32 ...\n", + " EDGAR_v4.3.2_annual_average_CO_emissions (station) float32 ...\n", + " EDGAR_v4.3.2_annual_average_NH3_emissions (station) float32 ...\n", + " EDGAR_v4.3.2_annual_average_NMVOC_emissions (station) float32 ...\n", + " EDGAR_v4.3.2_annual_average_NOx_emissions (station) float32 ...\n", + " ... ...\n", + " station_timezone (station) object ...\n", + " street_type (station) object ...\n", + " street_width (station) float32 ...\n", + " terrain (station) object ...\n", + " vertical_datum (station) object ...\n", + " weekday_weekend_code (station, time) uint8 ...\n", + "Attributes:\n", + " title: Surface aerosol optical depth at 550nm data in the AERONE...\n", + " institution: Barcelona Supercomputing Center\n", + " source: Surface observations\n", + " creator_name: Dene R. Bowdalo\n", + " creator_email: dene.bowdalo@bsc.es\n", + " version: 1.4
array(['2020-06-01T00:00:00.000000000', '2020-06-01T01:00:00.000000000',\n", + " '2020-06-01T02:00:00.000000000', ..., '2020-06-30T21:00:00.000000000',\n", + " '2020-06-30T22:00:00.000000000', '2020-06-30T23:00:00.000000000'],\n", + " dtype='datetime64[ns]')
array([1313., 18., 15., ..., 234., 454., 179.], dtype=float32)
array([2.489332e-13, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 2.421291e-13], dtype=float32)
array([3.161767e-11, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 6.931332e-13], dtype=float32)
array([9.423107e-16, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 1.087701e-15], dtype=float32)
array([6.275388e-12, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 4.111606e-12], dtype=float32)
array([6.169598e-12, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 1.253201e-11], dtype=float32)
array([1.244637e-13, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 1.210442e-13], dtype=float32)
array([1.244739e-12, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 1.211099e-12], dtype=float32)
array([4.236494e-12, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 7.338124e-12], dtype=float32)
array([3.510429e-17, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 3.058946e-16], dtype=float32)
array([1.244664e-12, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,\n", + " 0.000000e+00, 1.210459e-12], dtype=float32)
array(['medium steep - coarse texture - low convexity',\n", + " 'medium steep - fine texture - low convexity',\n", + " 'gentle - coarse texture - low convexity', ...,\n", + " 'medium steep - coarse texture - low convexity',\n", + " 'medium gentle - fine texture - low convexity',\n", + " 'medium gentle - fine texture - high convexity'], dtype=object)
array(['high altitude plains', 'water', 'nan', ..., 'very low plateaus',\n", + " 'mid altitude plains', 'lowlands'], dtype=object)
array(['medium steep - coarse texture - low convexity', 'water', 'water', ...,\n", + " 'medium steep - fine texture - high convexity',\n", + " 'medium gentle - fine texture - high convexity',\n", + " 'medium steep - fine texture - high convexity'], dtype=object)
array(['medium steep - coarse texture - low convexity', 'water', 'water', ...,\n", + " 'medium steep - coarse texture - low convexity',\n", + " 'medium gentle - fine texture - low convexity',\n", + " 'medium steep - fine texture - high convexity'], dtype=object)
array(['mid altitude plateaus', 'water', 'nan', ..., 'very low plateaus',\n", + " 'mid altitude plains', 'plains'], dtype=object)
array(['high altitude plains', 'water', 'nan', ..., 'very low plateaus',\n", + " 'mid altitude plains', 'plains'], dtype=object)
array([1299., 26., 2., ..., 216., 456., 176.], dtype=float32)
array([ 24., 145., 5., ..., 31., 9., 26.], dtype=float32)
array(['1.4', '1.4', '1.4', ..., '1.4', '1.4', '1.4'], dtype=object)
array([ 0.973138, 0.069935, 0.118563, ..., 4.052589, 0.882098, 13.686182],\n", + " dtype=float32)
array([ 0.779646, 1.149631, 0.344782, ..., 41.303318, 15.780167, 12.955944],\n", + " dtype=float32)
array([1.933994e+01, 2.114581e+00, 3.526324e-01, ..., 3.771514e+02,\n", + " 3.493256e+02, 1.995498e+02], dtype=float32)
array([8.326788e+01, 3.396778e+01, 4.800151e-01, ..., 4.657755e+03,\n", + " 6.104640e+03, 2.213394e+02], dtype=float32)
array([ 0. , 0. , 0. , ..., 83.7568, 0. , 33.7712],\n", + " dtype=float32)
array([ 98., 95., 65., ..., 100., 100., 100.], dtype=float32)
array([ 87., 95., 26., ..., 100., 100., 99.], dtype=float32)
array([ 8958., 2350., 549., ..., 11219., 45549., 9135.], dtype=float32)
array([8.9580e+03, 2.3500e+03, 4.3000e+01, ..., 1.1219e+04, 4.5549e+04,\n", + " 1.7360e+03], dtype=float32)
array(['very low density rural', 'water', 'water', ...,\n", + " 'very low density rural', 'very low density rural',\n", + " 'very low density rural'], dtype=object)
array(['very low density rural', 'water', 'water', ..., 'urban centre',\n", + " 'very low density rural', 'low density rural'], dtype=object)
array([ 0. , 0. , 0. , ..., 9396.993 , 0. , 556.0051],\n", + " dtype=float32)
array(['very low density rural', 'very low density rural',\n", + " 'very low density rural', ..., 'urban centre', 'rural cluster',\n", + " 'low density rural'], dtype=object)
array([124.32709 , 2.79323 , 0.764419, ..., 357.12894 , 273.1742 ,\n", + " 212.34114 ], dtype=float32)
array([1.226605e+01, 4.290382e+01, 5.904162e-02, ..., 7.327646e+02,\n", + " 4.929010e+02, 2.843317e+02], dtype=float32)
array([75960.96 , 832.58167, 280.91034, ..., 1197.667 , 2789.2234 ,\n", + " 5616.408 ], dtype=float32)
array([1.226605e+01, 8.325817e+02, 9.681910e-01, ..., 1.085922e+03,\n", + " 2.789223e+03, 3.627036e+02], dtype=float32)
array([1.226605e+01, 1.010118e+02, 8.580016e-02, ..., 7.309171e+02,\n", + " 1.188315e+02, 2.668087e+02], dtype=float32)
array([-718., 0., -1., ..., -162., -950., -606.], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['arid - steppe - cold', 'temperate - dry summer - hot summer',\n", + " 'polar - tundra', ..., 'arid - steppe - cold', 'arid - desert - hot',\n", + " 'cold - no dry season - warm summer'], dtype=object)
array(['arid - steppe - cold', 'water', 'water', ..., 'arid - steppe - cold',\n", + " 'arid - desert - hot', 'cold - no dry season - warm summer'],\n", + " dtype=object)
array(['arid - steppe - cold', 'water', 'water', ..., 'arid - steppe - cold',\n", + " 'arid - desert - hot', 'cold - no dry season - warm summer'],\n", + " dtype=object)
array(['grasslands', 'grasslands', 'permanent wetlands', ...,\n", + " 'urban and built-up lands', 'grasslands', 'woody savannas'],\n", + " dtype=object)
array(['grasslands', 'grasslands', 'grasslands', ...,\n", + " 'urban and built-up lands', 'grasslands', 'savannas'], dtype=object)
array(['grasslands', 'grasslands', 'permanent wetlands', ...,\n", + " 'urban and built-up lands', 'grasslands', 'woody savannas'],\n", + " dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ..., 'croplands',\n", + " 'grasslands', 'mixed forests'], dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ...,\n", + " 'urban and built-up lands', 'grasslands', 'mixed forests'], dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ...,\n", + " 'broadleaf croplands', 'grasslands', 'savannas'], dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ...,\n", + " 'urban and built-up lands', 'grasslands', 'savannas'], dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ..., 'croplands',\n", + " 'grasslands', 'mixed forests'], dtype=object)
array(['grasslands', 'water bodies', 'water bodies', ...,\n", + " 'urban and built-up lands', 'grasslands', 'mixed forests'], dtype=object)
array([ 6., 0., 17., ..., 24., 1., 33.], dtype=float32)
array([ 6., 6., 37., ..., 61., 13., 34.], dtype=float32)
array([63., 16., 63., ..., 63., 56., 61.], dtype=float32)
array([26., 16., 60., ..., 63., 56., 56.], dtype=float32)
array([ 5., 11., 54., ..., 63., 9., 28.], dtype=float32)
array([6.301160e+15, 3.021980e+15, 3.681956e+15, ..., 4.460874e+15,\n", + " 2.814616e+15, 9.600188e+15], dtype=float32)
array([6.354764e+15, 3.141651e+15, 3.933728e+15, ..., 4.377470e+15,\n", + " 2.837691e+15, 7.143090e+15], dtype=float32)
array([3.723849e+15, 4.691550e+14, 3.824027e+14, ..., 1.833370e+15,\n", + " 6.993819e+14, 7.325085e+15], dtype=float32)
array([3.713093e+15, 5.222752e+14, 5.292174e+14, ..., 1.688689e+15,\n", + " 7.069353e+14, 4.294799e+15], dtype=float32)
array(['residential rangelands', 'water', 'wild treeless and barren lands',\n", + " ..., 'urban', 'urban', 'pastoral villages'], dtype=object)
array(['residential rangelands', 'water', 'water', ..., 'populated croplands',\n", + " 'residential rainfed croplands', 'residential rangelands'], dtype=object)
array(['residential rangelands', 'water', 'wild treeless and barren lands',\n", + " ..., 'urban', 'urban', 'pastoral villages'], dtype=object)
array(['Asia', 'Europe', 'North America, Central America And The Caribbean',\n", + " ..., 'Europe', 'Africa', 'Europe'], dtype=object)
array(['palearctic', 'palearctic', 'nearctic', ..., 'palearctic',\n", + " 'afrotropics', 'palearctic'], dtype=object)
array(['temperate grasslands, savannas and shrublands',\n", + " 'temperate broadleaf and mixed forests', 'tundra', ...,\n", + " 'mediterranean forests, woodlands and scrub',\n", + " 'tropical and subtropical grasslands, savannas and shrublands',\n", + " 'temperate broadleaf and mixed forests'], dtype=object)
array(['mongolian-manchurian grassland', 'azores temperate mixed forests',\n", + " 'arctic coastal tundra', ...,\n", + " 'iberian sclerophyllous and semi-deciduous forests',\n", + " 'west sudanian savanna', 'sarmatic mixed forests'], dtype=object)
array(['Inner Mongolia', 'Azores', 'Alaska', ..., 'Aragon', 'Zinder',\n", + " 'Moskovskaya'], dtype=object)
array(['nan', 'Santa Cruz Da Graciosa', 'North Slope Borough', ...,\n", + " 'Provincia De Zaragoza', 'nan', 'nan'], dtype=object)
array([1314. , 15.2, 2. , ..., 250. , 456. , 200. ], dtype=float32)
[263520 values with dtype=uint8]
[263520 values with dtype=uint8]
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['Baliang', 'Lagoa', 'Nuiqsut', ..., 'Zaragoza', 'Zinder', 'Karinskoye'],\n", + " dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['Brent.N.Holben@nasa.gov', 'Brent.N.Holben@nasa.gov',\n", + " 'Brent.N.Holben@nasa.gov', ..., 'Brent.N.Holben@nasa.gov',\n", + " 'Brent.N.Holben@nasa.gov', 'Brent.N.Holben@nasa.gov'], dtype=object)
array(['NASA', 'NASA', 'NASA', ..., 'NASA', 'NASA', 'NASA'], dtype=object)
array(['Brent Holben', 'Brent Holben', 'Brent Holben', ..., 'Brent Holben',\n", + " 'Brent Holben', 'Brent Holben'], dtype=object)
array(['China', 'Portugal', 'United States', ..., 'Spain', 'Niger', 'Russia'],\n", + " dtype=object)
[263520 values with dtype=uint8]
[263520 values with dtype=uint8]
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['1.5', '1.5', '1.5', ..., '1.5', '1.5', '1.5'], dtype=object)
array(['Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html',\n", + " 'Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html',\n", + " 'Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html',\n", + " ...,\n", + " 'Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html',\n", + " 'Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html',\n", + " 'Public domain: https://aeronet.gsfc.nasa.gov/new_web/data_usage.html'],\n", + " dtype=object)
[263520 values with dtype=uint8]
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
[263520 values with dtype=float32]
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['WGS 84', 'WGS 84', 'WGS 84', ..., 'WGS 84', 'WGS 84', 'WGS 84'],\n", + " dtype=object)
[50068800 values with dtype=float32]
array(['WORLD GEODETIC SYSTEM 1984', 'WORLD GEODETIC SYSTEM 1984',\n", + " 'WORLD GEODETIC SYSTEM 1984', ..., 'WORLD GEODETIC SYSTEM 1984',\n", + " 'WORLD GEODETIC SYSTEM 1984', 'WORLD GEODETIC SYSTEM 1984'],\n", + " dtype=object)
[263520 values with dtype=uint8]
[263520 values with dtype=uint8]
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([40.8517 , 39.09109 , 70.4995 , ..., 41.6334 , 13.776683, 55.695 ])
[263520 values with dtype=datetime64[ns]]
array([ 109.6288 , -28.02917 , -149.88 , ..., -0.88235 , 8.990233,\n", + " 36.775 ])
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
[263520 values with dtype=datetime64[ns]]
array([1314. , 15.2, 2. , ..., 250. , 456. , 200. ], dtype=float32)
array(['photometry - direct', 'photometry - direct', 'photometry - direct',\n", + " ..., 'photometry - direct', 'photometry - direct',\n", + " 'photometry - direct'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['0.1%', '0.1%', '0.1%', ..., '0.1%', '0.1%', '0.1%'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['Cimel_CE318T_Manual.pdf', 'Cimel_CE318T_Manual.pdf',\n", + " 'Cimel_CE318T_Manual.pdf', ..., 'Cimel_CE318T_Manual.pdf',\n", + " 'Cimel_CE318T_Manual.pdf', 'Cimel_CE318T_Manual.pdf'], dtype=object)
array(['Cimel CE318-T', 'Cimel CE318-T', 'Cimel CE318-T', ..., 'Cimel CE318-T',\n", + " 'Cimel CE318-T', 'Cimel CE318-T'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['remote', 'remote', 'remote', ..., 'remote', 'remote', 'remote'],\n", + " dtype=object)
[263520 values with dtype=uint8]
[263520 values with dtype=uint8]
array(['AERONET_v3_lev1.5', 'AERONET_v3_lev1.5', 'AERONET_v3_lev1.5', ...,\n", + " 'AERONET_v3_lev1.5', 'AERONET_v3_lev1.5', 'AERONET_v3_lev1.5'],\n", + " dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan])
array([nan, nan, nan, ..., nan, nan, nan])
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
[263520 values with dtype=float32]
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['Brent.N.Holben@nasa.gov', 'Brent.N.Holben@nasa.gov',\n", + " 'Brent.N.Holben@nasa.gov', ..., 'Brent.N.Holben@nasa.gov',\n", + " 'Brent.N.Holben@nasa.gov', 'Brent.N.Holben@nasa.gov'], dtype=object)
array(['NASA', 'NASA', 'NASA', ..., 'NASA', 'NASA', 'NASA'], dtype=object)
array(['Brent Holben', 'Brent Holben', 'Brent Holben', ..., 'Brent Holben',\n", + " 'Brent Holben', 'Brent Holben'], dtype=object)
array(['', '', '', ..., '', '', ''], dtype=object)
array(['GEOGRAPHIC', 'GEOGRAPHIC', 'GEOGRAPHIC', ..., 'GEOGRAPHIC',\n", + " 'GEOGRAPHIC', 'GEOGRAPHIC'], dtype=object)
[20291040 values with dtype=float32]
[263520 values with dtype=float32]
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['directsun algorithm', 'directsun algorithm', 'directsun algorithm',\n", + " ..., 'directsun algorithm', 'directsun algorithm',\n", + " 'directsun algorithm'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)
[263520 values with dtype=uint8]
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['Aoe_Baotou', 'Arm_Graciosa', 'Arm_Oliktok_Ak', ..., 'Zaragoza',\n", + " 'Zinder_Airport', 'Zvenigorod'], dtype=object)
array(['AOEBaotou_P-D', 'ARMGraciosa_P-D', 'ARMOliktokAK_P-D', ...,\n", + " 'Zaragoza_P-D', 'ZinderAirport_P-D', 'Zvenigorod_P-D'], dtype=object)
array(['Asia/Shanghai', 'Atlantic/Azores', 'America/Anchorage', ...,\n", + " 'Europe/Madrid', 'Africa/Niamey', 'Europe/Moscow'], dtype=object)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)
array(['nan', 'nan', 'nan', ..., 'nan', 'nan', 'nan'], dtype=object)
array(['TIDAL - MEAN SEA LEVEL', 'TIDAL - MEAN SEA LEVEL',\n", + " 'TIDAL - MEAN SEA LEVEL', ..., 'TIDAL - MEAN SEA LEVEL',\n", + " 'TIDAL - MEAN SEA LEVEL', 'TIDAL - MEAN SEA LEVEL'], dtype=object)
[263520 values with dtype=uint8]
\n", + " | geometry | \n", + "od550aero | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "NaN | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "NaN | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "NaN | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "NaN | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "NaN | \n", + "
... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "NaN | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.152831 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "NaN | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "NaN | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "NaN | \n", + "
366 rows × 2 columns
\n", + "<xarray.Dataset>\n", + "Dimensions: (grid_edge: 877, station: 366, model_latitude: 181, model_longitude: 257, time: 720)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 2020-06-01 ... 2020-06-30T2...\n", + "Dimensions without coordinates: grid_edge, station, model_latitude, model_longitude\n", + "Data variables:\n", + " grid_edge_latitude (grid_edge) float64 -90.5 -89.5 ... -90.5 -90.5\n", + " grid_edge_longitude (grid_edge) float64 -180.7 -180.7 ... -179.3 -180.7\n", + " latitude (station) float64 40.85 39.09 70.5 ... 13.78 55.7\n", + " longitude (station) float64 109.6 -28.03 -149.9 ... 8.99 36.77\n", + " model_centre_latitude (model_latitude, model_longitude) float64 -90.0 ....\n", + " model_centre_longitude (model_latitude, model_longitude) float64 -180.0 ...\n", + " od550aero (station, time) float32 ...\n", + " station_reference (station) object 'AOEBaotou_P-D' ... 'Zvenigorod_...\n", + "Attributes:\n", + " title: Inverse distance weighting (4 neighbours) interpolated a4...\n", + " institution: Barcelona Supercomputing Center\n", + " source: Experiment a4s2\n", + " creator_name: Dene R. Bowdalo\n", + " creator_email: dene.bowdalo@bsc.es\n", + " conventions: CF-1.7\n", + " data_version: 1.0\n", + " history: Wed Nov 30 18:53:34 2022: ncks -O --dfl_lvl 1 /gpfs/proje...\n", + " NCO: netCDF Operators version 4.9.2 (Homepage = http://nco.sf....
array(['2020-06-01T00:00:00.000000000', '2020-06-01T01:00:00.000000000',\n", + " '2020-06-01T02:00:00.000000000', ..., '2020-06-30T21:00:00.000000000',\n", + " '2020-06-30T22:00:00.000000000', '2020-06-30T23:00:00.000000000'],\n", + " dtype='datetime64[ns]')
array([-90.5, -89.5, -88.5, ..., -90.5, -90.5, -90.5])
array([-180.703125, -180.703125, -180.703125, ..., -177.890625, -179.296875,\n", + " -180.703125])
array([40.8517 , 39.09109 , 70.4995 , ..., 41.6334 , 13.776683, 55.695 ])
array([ 109.6288 , -28.02917 , -149.88 , ..., -0.88235 , 8.990233,\n", + " 36.775 ])
array([[-90., -90., -90., ..., -90., -90., -90.],\n", + " [-89., -89., -89., ..., -89., -89., -89.],\n", + " [-88., -88., -88., ..., -88., -88., -88.],\n", + " ...,\n", + " [ 88., 88., 88., ..., 88., 88., 88.],\n", + " [ 89., 89., 89., ..., 89., 89., 89.],\n", + " [ 90., 90., 90., ..., 90., 90., 90.]])
array([[-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " ...,\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ]])
[263520 values with dtype=float32]
array(['AOEBaotou_P-D', 'ARMGraciosa_P-D', 'ARMOliktokAK_P-D', ...,\n", + " 'Zaragoza_P-D', 'ZinderAirport_P-D', 'Zvenigorod_P-D'], dtype=object)
\n", + " | geometry | \n", + "od550aero | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "0.227307 | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "0.004195 | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "0.006696 | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "0.005329 | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "0.059810 | \n", + "
... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "0.007441 | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.082251 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "0.008346 | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "0.446823 | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "0.006547 | \n", + "
366 rows × 2 columns
\n", + "<xarray.Dataset>\n", + "Dimensions: (grid_edge: 877, station: 366, model_latitude: 181, model_longitude: 257, time: 720)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 2020-06-01 ... 2020-06-30T2...\n", + "Dimensions without coordinates: grid_edge, station, model_latitude, model_longitude\n", + "Data variables:\n", + " grid_edge_latitude (grid_edge) float64 -90.5 -89.5 ... -90.5 -90.5\n", + " grid_edge_longitude (grid_edge) float64 -180.7 -180.7 ... -179.3 -180.7\n", + " latitude (station) float64 40.85 39.09 70.5 ... 13.78 55.7\n", + " longitude (station) float64 109.6 -28.03 -149.9 ... 8.99 36.77\n", + " model_centre_latitude (model_latitude, model_longitude) float64 -90.0 ....\n", + " model_centre_longitude (model_latitude, model_longitude) float64 -180.0 ...\n", + " od550aero (station, time) float32 ...\n", + " station_reference (station) object 'AOEBaotou_P-D' ... 'Zvenigorod_...\n", + "Attributes:\n", + " title: Inverse distance weighting (4 neighbours) interpolated a4...\n", + " institution: Barcelona Supercomputing Center\n", + " source: Experiment a4s2\n", + " creator_name: Dene R. Bowdalo\n", + " creator_email: dene.bowdalo@bsc.es\n", + " conventions: CF-1.7\n", + " data_version: 1.0\n", + " history: Wed Nov 30 18:53:34 2022: ncks -O --dfl_lvl 1 /gpfs/proje...\n", + " NCO: netCDF Operators version 4.9.2 (Homepage = http://nco.sf....
array(['2020-06-01T00:00:00.000000000', '2020-06-01T01:00:00.000000000',\n", + " '2020-06-01T02:00:00.000000000', ..., '2020-06-30T21:00:00.000000000',\n", + " '2020-06-30T22:00:00.000000000', '2020-06-30T23:00:00.000000000'],\n", + " dtype='datetime64[ns]')
array([-90.5, -89.5, -88.5, ..., -90.5, -90.5, -90.5])
array([-180.703125, -180.703125, -180.703125, ..., -177.890625, -179.296875,\n", + " -180.703125])
array([40.8517 , 39.09109 , 70.4995 , ..., 41.6334 , 13.776683, 55.695 ])
array([ 109.6288 , -28.02917 , -149.88 , ..., -0.88235 , 8.990233,\n", + " 36.775 ])
array([[-90., -90., -90., ..., -90., -90., -90.],\n", + " [-89., -89., -89., ..., -89., -89., -89.],\n", + " [-88., -88., -88., ..., -88., -88., -88.],\n", + " ...,\n", + " [ 88., 88., 88., ..., 88., 88., 88.],\n", + " [ 89., 89., 89., ..., 89., 89., 89.],\n", + " [ 90., 90., 90., ..., 90., 90., 90.]])
array([[-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " ...,\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ],\n", + " [-180. , -178.59375, -177.1875 , ..., 177.1875 , 178.59375,\n", + " 180. ]])
[263520 values with dtype=float32]
array(['AOEBaotou_P-D', 'ARMGraciosa_P-D', 'ARMOliktokAK_P-D', ...,\n", + " 'Zaragoza_P-D', 'ZinderAirport_P-D', 'Zvenigorod_P-D'], dtype=object)
\n", + " | geometry | \n", + "od550aero | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "0.504757 | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "0.007563 | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "0.013467 | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "0.011034 | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "0.002979 | \n", + "
... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "0.014462 | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.184404 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "0.018486 | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "0.900909 | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "0.013143 | \n", + "
366 rows × 2 columns
\n", + "\n", + " | geometry | \n", + "od550du | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "0.504896 | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "0.007563 | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "0.013468 | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "0.011034 | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "0.002980 | \n", + "
... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "0.014462 | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.184427 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "0.018484 | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "0.901096 | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "0.013144 | \n", + "
366 rows × 2 columns
\n", + "\n", + " | geometry | \n", + "providentia | \n", + "nes | \n", + "obs | \n", + "absolute_difference | \n", + "
---|---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "0.504757 | \n", + "0.504896 | \n", + "NaN | \n", + "1.391183e-04 | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "0.007563 | \n", + "0.007563 | \n", + "NaN | \n", + "3.650604e-07 | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "0.013467 | \n", + "0.013468 | \n", + "NaN | \n", + "3.439117e-08 | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "0.011034 | \n", + "0.011034 | \n", + "NaN | \n", + "4.619126e-07 | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "0.002979 | \n", + "0.002980 | \n", + "NaN | \n", + "2.042769e-07 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "0.014462 | \n", + "0.014462 | \n", + "NaN | \n", + "-7.643789e-08 | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.184404 | \n", + "0.184427 | \n", + "0.152831 | \n", + "2.291842e-05 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "0.018486 | \n", + "0.018484 | \n", + "NaN | \n", + "-1.265558e-06 | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "0.900909 | \n", + "0.901096 | \n", + "NaN | \n", + "1.867402e-04 | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "0.013143 | \n", + "0.013144 | \n", + "NaN | \n", + "5.505649e-07 | \n", + "
366 rows × 5 columns
\n", + "\n", + " | geometry | \n", + "providentia | \n", + "nes | \n", + "absolute_difference | \n", + "relative_difference | \n", + "
---|---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
0 | \n", + "POINT (109.62880 40.85170) | \n", + "0.504757 | \n", + "0.504896 | \n", + "1.391183e-04 | \n", + "0.027554 | \n", + "
1 | \n", + "POINT (-28.02917 39.09109) | \n", + "0.007563 | \n", + "0.007563 | \n", + "3.650604e-07 | \n", + "0.004827 | \n", + "
2 | \n", + "POINT (-149.88000 70.49950) | \n", + "0.013467 | \n", + "0.013468 | \n", + "3.439117e-08 | \n", + "0.000255 | \n", + "
3 | \n", + "POINT (-97.48562 36.60518) | \n", + "0.011034 | \n", + "0.011034 | \n", + "4.619126e-07 | \n", + "0.004186 | \n", + "
4 | \n", + "POINT (40.19450 -2.99600) | \n", + "0.002979 | \n", + "0.002980 | \n", + "2.042769e-07 | \n", + "0.006856 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
361 | \n", + "POINT (-114.37625 62.45130) | \n", + "0.014462 | \n", + "0.014462 | \n", + "-7.643789e-08 | \n", + "-0.000529 | \n", + "
362 | \n", + "POINT (126.93479 37.56443) | \n", + "0.184404 | \n", + "0.184427 | \n", + "2.291842e-05 | \n", + "0.012427 | \n", + "
363 | \n", + "POINT (-0.88235 41.63340) | \n", + "0.018486 | \n", + "0.018484 | \n", + "-1.265558e-06 | \n", + "-0.006847 | \n", + "
364 | \n", + "POINT (8.99023 13.77668) | \n", + "0.900909 | \n", + "0.901096 | \n", + "1.867402e-04 | \n", + "0.020724 | \n", + "
365 | \n", + "POINT (36.77500 55.69500) | \n", + "0.013143 | \n", + "0.013144 | \n", + "5.505649e-07 | \n", + "0.004189 | \n", + "
366 rows × 5 columns
\n", + "\n", + " | geometry | \n", + "providentia | \n", + "nes | \n", + "absolute_difference | \n", + "relative_difference | \n", + "
---|---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
306 | \n", + "POINT (103.78038 1.29767) | \n", + "0.001023 | \n", + "0.001099 | \n", + "0.000076 | \n", + "6.944351 | \n", + "
\n", + " | geometry | \n", + "model | \n", + "
---|---|---|
FID | \n", + "\n", + " | \n", + " |
0 | \n", + "POLYGON ((-180.70312 -90.50000, -179.29688 -90... | \n", + "0.000144 | \n", + "
1 | \n", + "POLYGON ((-179.29688 -90.50000, -177.89062 -90... | \n", + "0.000144 | \n", + "
2 | \n", + "POLYGON ((-177.89062 -90.50000, -176.48438 -90... | \n", + "0.000144 | \n", + "
3 | \n", + "POLYGON ((-176.48438 -90.50000, -175.07812 -90... | \n", + "0.000144 | \n", + "
4 | \n", + "POLYGON ((-175.07812 -90.50000, -173.67188 -90... | \n", + "0.000144 | \n", + "
... | \n", + "... | \n", + "... | \n", + "
46512 | \n", + "POLYGON ((173.67188 89.50000, 175.07812 89.500... | \n", + "0.023041 | \n", + "
46513 | \n", + "POLYGON ((175.07812 89.50000, 176.48438 89.500... | \n", + "0.023041 | \n", + "
46514 | \n", + "POLYGON ((176.48438 89.50000, 177.89062 89.500... | \n", + "0.023041 | \n", + "
46515 | \n", + "POLYGON ((177.89062 89.50000, 179.29688 89.500... | \n", + "0.023041 | \n", + "
46516 | \n", + "POLYGON ((179.29688 89.50000, 180.70312 89.500... | \n", + "0.023041 | \n", + "
46517 rows × 2 columns
\n", + "\n", + " | geometry | \n", + "model | \n", + "obs | \n", + "
---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " |
9587 | \n", + "POLYGON ((-71.01562 -53.50000, -69.60938 -53.5... | \n", + "0.000458 | \n", + "NaN | \n", + "
9845 | \n", + "POLYGON ((-69.60938 -52.50000, -68.20312 -52.5... | \n", + "0.000429 | \n", + "NaN | \n", + "
11388 | \n", + "POLYGON ((-68.20312 -46.50000, -66.79688 -46.5... | \n", + "0.000508 | \n", + "NaN | \n", + "
12161 | \n", + "POLYGON ((-65.39062 -43.50000, -63.98438 -43.5... | \n", + "0.001136 | \n", + "NaN | \n", + "
13187 | \n", + "POLYGON ((-68.20312 -39.50000, -66.79688 -39.5... | \n", + "0.002681 | \n", + "NaN | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "
41394 | \n", + "POLYGON ((-156.79688 70.50000, -155.39062 70.5... | \n", + "0.013695 | \n", + "NaN | \n", + "
42998 | \n", + "POLYGON ((-69.60938 76.50000, -68.20312 76.500... | \n", + "0.013201 | \n", + "NaN | \n", + "
43058 | \n", + "POLYGON ((14.76562 76.50000, 16.17188 76.50000... | \n", + "0.017579 | \n", + "NaN | \n", + "
43569 | \n", + "POLYGON ((10.54688 78.50000, 11.95312 78.50000... | \n", + "0.013934 | \n", + "NaN | \n", + "
43757 | \n", + "POLYGON ((-86.48438 79.50000, -85.07812 79.500... | \n", + "0.011777 | \n", + "NaN | \n", + "
366 rows × 3 columns
\n", + "\n", + " | geometry | \n", + "model | \n", + "obs | \n", + "nes | \n", + "
---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " |
9587 | \n", + "POLYGON ((-71.01562 -53.50000, -69.60938 -53.5... | \n", + "0.000458 | \n", + "NaN | \n", + "0.000420 | \n", + "
9845 | \n", + "POLYGON ((-69.60938 -52.50000, -68.20312 -52.5... | \n", + "0.000429 | \n", + "NaN | \n", + "0.000441 | \n", + "
11388 | \n", + "POLYGON ((-68.20312 -46.50000, -66.79688 -46.5... | \n", + "0.000508 | \n", + "NaN | \n", + "0.000532 | \n", + "
12161 | \n", + "POLYGON ((-65.39062 -43.50000, -63.98438 -43.5... | \n", + "0.001136 | \n", + "NaN | \n", + "0.001565 | \n", + "
13187 | \n", + "POLYGON ((-68.20312 -39.50000, -66.79688 -39.5... | \n", + "0.002681 | \n", + "NaN | \n", + "0.001954 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
41394 | \n", + "POLYGON ((-156.79688 70.50000, -155.39062 70.5... | \n", + "0.013695 | \n", + "NaN | \n", + "0.013110 | \n", + "
42998 | \n", + "POLYGON ((-69.60938 76.50000, -68.20312 76.500... | \n", + "0.013201 | \n", + "NaN | \n", + "0.013245 | \n", + "
43058 | \n", + "POLYGON ((14.76562 76.50000, 16.17188 76.50000... | \n", + "0.017579 | \n", + "NaN | \n", + "0.017365 | \n", + "
43569 | \n", + "POLYGON ((10.54688 78.50000, 11.95312 78.50000... | \n", + "0.013934 | \n", + "NaN | \n", + "0.014070 | \n", + "
43757 | \n", + "POLYGON ((-86.48438 79.50000, -85.07812 79.500... | \n", + "0.011777 | \n", + "NaN | \n", + "0.011703 | \n", + "
512 rows × 4 columns
\n", + "\n", + " | geometry | \n", + "model | \n", + "obs | \n", + "nes | \n", + "providentia | \n", + "
---|---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
9587 | \n", + "POLYGON ((-71.01562 -53.50000, -69.60938 -53.5... | \n", + "0.000458 | \n", + "NaN | \n", + "0.000420 | \n", + "0.000420 | \n", + "
9845 | \n", + "POLYGON ((-69.60938 -52.50000, -68.20312 -52.5... | \n", + "0.000429 | \n", + "NaN | \n", + "0.000441 | \n", + "0.000441 | \n", + "
11388 | \n", + "POLYGON ((-68.20312 -46.50000, -66.79688 -46.5... | \n", + "0.000508 | \n", + "NaN | \n", + "0.000532 | \n", + "0.000532 | \n", + "
12161 | \n", + "POLYGON ((-65.39062 -43.50000, -63.98438 -43.5... | \n", + "0.001136 | \n", + "NaN | \n", + "0.001565 | \n", + "0.001565 | \n", + "
13187 | \n", + "POLYGON ((-68.20312 -39.50000, -66.79688 -39.5... | \n", + "0.002681 | \n", + "NaN | \n", + "0.001954 | \n", + "0.001954 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
41394 | \n", + "POLYGON ((-156.79688 70.50000, -155.39062 70.5... | \n", + "0.013695 | \n", + "NaN | \n", + "0.013110 | \n", + "0.013110 | \n", + "
42998 | \n", + "POLYGON ((-69.60938 76.50000, -68.20312 76.500... | \n", + "0.013201 | \n", + "NaN | \n", + "0.013245 | \n", + "0.013245 | \n", + "
43058 | \n", + "POLYGON ((14.76562 76.50000, 16.17188 76.50000... | \n", + "0.017579 | \n", + "NaN | \n", + "0.017365 | \n", + "0.017365 | \n", + "
43569 | \n", + "POLYGON ((10.54688 78.50000, 11.95312 78.50000... | \n", + "0.013934 | \n", + "NaN | \n", + "0.014070 | \n", + "0.014070 | \n", + "
43757 | \n", + "POLYGON ((-86.48438 79.50000, -85.07812 79.500... | \n", + "0.011777 | \n", + "NaN | \n", + "0.011703 | \n", + "0.011703 | \n", + "
954 rows × 5 columns
\n", + "\n", + " | geometry | \n", + "model | \n", + "obs | \n", + "nes | \n", + "providentia | \n", + "nes-prov | \n", + "
---|---|---|---|---|---|---|
FID | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
9587 | \n", + "POLYGON ((-71.01562 -53.50000, -69.60938 -53.5... | \n", + "0.000458 | \n", + "NaN | \n", + "0.000420 | \n", + "0.000420 | \n", + "0.000568 | \n", + "
9845 | \n", + "POLYGON ((-69.60938 -52.50000, -68.20312 -52.5... | \n", + "0.000429 | \n", + "NaN | \n", + "0.000441 | \n", + "0.000441 | \n", + "0.001709 | \n", + "
11388 | \n", + "POLYGON ((-68.20312 -46.50000, -66.79688 -46.5... | \n", + "0.000508 | \n", + "NaN | \n", + "0.000532 | \n", + "0.000532 | \n", + "0.014902 | \n", + "
12161 | \n", + "POLYGON ((-65.39062 -43.50000, -63.98438 -43.5... | \n", + "0.001136 | \n", + "NaN | \n", + "0.001565 | \n", + "0.001565 | \n", + "-0.011830 | \n", + "
13187 | \n", + "POLYGON ((-68.20312 -39.50000, -66.79688 -39.5... | \n", + "0.002681 | \n", + "NaN | \n", + "0.001954 | \n", + "0.001954 | \n", + "0.001149 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
41394 | \n", + "POLYGON ((-156.79688 70.50000, -155.39062 70.5... | \n", + "0.013695 | \n", + "NaN | \n", + "0.013110 | \n", + "0.013110 | \n", + "0.000853 | \n", + "
42998 | \n", + "POLYGON ((-69.60938 76.50000, -68.20312 76.500... | \n", + "0.013201 | \n", + "NaN | \n", + "0.013245 | \n", + "0.013245 | \n", + "0.000210 | \n", + "
43058 | \n", + "POLYGON ((14.76562 76.50000, 16.17188 76.50000... | \n", + "0.017579 | \n", + "NaN | \n", + "0.017365 | \n", + "0.017365 | \n", + "0.000002 | \n", + "
43569 | \n", + "POLYGON ((10.54688 78.50000, 11.95312 78.50000... | \n", + "0.013934 | \n", + "NaN | \n", + "0.014070 | \n", + "0.014070 | \n", + "-0.000013 | \n", + "
43757 | \n", + "POLYGON ((-86.48438 79.50000, -85.07812 79.500... | \n", + "0.011777 | \n", + "NaN | \n", + "0.011703 | \n", + "0.011703 | \n", + "-0.000004 | \n", + "
954 rows × 6 columns
\n", + "