Projections
Default projection
- class nes.nc_projections.default_nes.Nes(comm: Comm | None = None, path: str | None = None, info: bool = False, dataset: Dataset | None = None, parallel_method: str = 'Y', avoid_first_hours: int = 0, avoid_last_hours: int = 0, first_level: int = 0, last_level: int | None = None, create_nes: bool = False, balanced: bool = False, times: List[datetime] | None = None, **kwargs)[source]
Bases:
object
A class to handle netCDF data with parallel processing capabilities using MPI.
Attributes
- commMPI.Comm
MPI communicator.
- rankint
MPI rank.
- masterbool
True when rank == 0.
- sizeint
Size of the communicator.
- infobool
Indicates if you want to print reading/writing info.
- __ini_pathstr
Path to the original file to read when open_netcdf is called.
- hours_startint
Number of hours to avoid from the first original values.
- hours_endint
Number of hours to avoid from the last original values.
- datasetDataset
netcdf4-python Dataset.
- variablesDict[str, Dict[str, Any]]
Variables information. The dictionary structure is: {
- var_name: {
“data”: ndarray or None, # Array values or None if the variable is not loaded. attr_name: attr_value, # Variable attributes. …
}
- _full_timeList[datetime]
Complete list of original time step values.
- _full_levDict[str, array]
Vertical level dictionary with the complete “data” key for all the values and the rest of the attributes. {
“data”: ndarray, # Array of vertical level values. attr_name: attr_value, # Vertical level attributes. …
}
- _full_latdict
Latitudes dictionary with the complete “data” key for all the values and the rest of the attributes. {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- _full_londict
Longitudes dictionary with the complete “data” key for all the values and the rest of the attributes. {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- _full_lat_bndsdict
Latitude bounds dictionary with the complete “data” key for the latitudinal boundaries of each grid and the rest of the attributes. {
“data”: ndarray, # Array of latitude bounds. attr_name: attr_value, # Latitude bounds attributes. …
}
- _full_lon_bndsdict
Longitude bounds dictionary with the complete “data” key for the longitudinal boundaries of each grid and the rest of the attributes. {
“data”: ndarray, # Array of longitude bounds. attr_name: attr_value, # Longitude bounds attributes. …
}
- parallel_methodstr
Parallel method to read/write. Can be chosen from any of the following axes to parallelize: “T”, “Y”, or “X”.
- read_axis_limitsdict
Dictionary with the 4D limits of the rank data to read. Structure: {
“t_min”: int, “t_max”: int, # Time axis limits. “z_min”: int, “z_max”: int, # Vertical axis limits. “y_min”: int, “y_max”: int, # Latitudinal axis limits. “x_min”: int, “x_max”: int, # Longitudinal axis limits.
}
- write_axis_limitsdict
Dictionary with the 4D limits of the rank data to write. Structure: {
“t_min”: int, “t_max”: int, # Time axis limits. “z_min”: int, “z_max”: int, # Vertical axis limits. “y_min”: int, “y_max”: int, # Latitudinal axis limits. “x_min”: int, “x_max”: int, # Longitudinal axis limits.
}
- timeList[datetime]
List of time steps of the rank data.
- levdict
Vertical levels dictionary with the portion of “data” corresponding to the rank values. Structure: {
“data”: ndarray, # Array of vertical level values for the rank. attr_name: attr_value, # Vertical level attributes. …
}
- latdict
Latitudes dictionary with the portion of “data” corresponding to the rank values. Structure: {
“data”: ndarray, # Array of latitude values for the rank. attr_name: attr_value, # Latitude attributes. …
}
- londict
Longitudes dictionary with the portion of “data” corresponding to the rank values. Structure: {
“data”: ndarray, # Array of longitude values for the rank. attr_name: attr_value, # Longitude attributes. …
}
- lat_bndsdict
Latitude bounds dictionary with the portion of “data” for the latitudinal boundaries corresponding to the rank values. Structure: {
“data”: ndarray, # Array of latitude bounds for the rank. attr_name: attr_value, # Latitude bounds attributes. …
}
- lon_bndsdict
Longitude bounds dictionary with the portion of “data” for the longitudinal boundaries corresponding to the rank values. Structure: {
“data”: ndarray, # Array of longitude bounds for the rank. attr_name: attr_value, # Longitude bounds attributes. …
}
- global_attrsdict
Global attributes with the attribute name as key and data as values. Structure: {
attr_name: attr_value, # Global attribute name and value. …
}
- _var_dimtuple
Name of the Y and X dimensions for the variables.
- _lat_dimtuple
Name of the dimensions of the Latitude values.
- _lon_dimtuple
Name of the dimensions of the Longitude values.
- projectionProj
Grid projection.
- projection_datadict
Dictionary with the projection information. Structure: {
proj_param: proj_value, # Projection parameters. …
}
- add_4d_vertical_info(info_to_add)[source]
To add the vertical information from other source.
Parameters
- info_to_addnes.Nes, str
Nes object with the vertical information as variable or str with the path to the NetCDF file that contains the vertical data.
- add_variables_to_shapefile(var_list, idx_lev=0, idx_time=0)[source]
Add variables data to shapefile.
- var_listList or str
Variables to be loaded and saved in the shapefile.
- idx_levint
Index of vertical level for which the data will be saved in the shapefile.
- idx_timeint
Index of time for which the data will be saved in the shapefile.
- append_time_step_data(i_time, out_format='DEFAULT')[source]
Fill the netCDF data for the indicated index time.
Parameters
- i_timeint
index of the time step to write
- out_formatstr
Indicates the output format type to change the units (if needed)
- static calculate_geometry_area(geometry_list, earth_radius_minor_axis=6356752.3142, earth_radius_major_axis=6378137.0)[source]
Get coordinate bounds and call function to calculate the area of each cell of a set of geometries.
Parameters
- geometry_listList
A List with polygon geometries.
- earth_radius_minor_axisfloat
Radius of the minor axis of the Earth.
- earth_radius_major_axisfloat
Radius of the major axis of the Earth.
- calculate_grid_area(overwrite=True)[source]
Get coordinate bounds and call function to calculate the area of each cell of a grid.
Parameters
- selfnes.Nes
Source projection Nes Object.
- overwritebool
Indicates if we want to overwrite the grid area.
- concatenate(aux_nessy)[source]
Concatenate different variables into the same NES object.
Parameters
- aux_nessyNes, str
Nes object or str with the path to the NetCDF file that contains the variables to add.
Returns
- list
A List of var names added.
- copy(copy_vars: bool = False)[source]
Copy the Nes object. The copy will avoid to copy the communicator, dataset and variables by default.
Parameters
- copy_vars: bool
Indicates if you want to copy the variables (in lazy mode).
Returns
- nessyNes
Copy of the Nes object.
- create_providentia_exp_centre_coordinates()[source]
Calculate centre latitudes and longitudes from original coordinates and store as 2D arrays.
Returns
- model_centre_latdict
Dictionary with data of centre coordinates for latitude in 2D (latitude, longitude).
- model_centre_londict
Dictionary with data of centre coordinates for longitude in 2D (latitude, longitude).
- create_providentia_exp_grid_edge_coordinates()[source]
Calculate grid edge latitudes and longitudes and get model grid outline.
Returns
- grid_edge_latdict
Dictionary with data of grid edge latitudes.
- grid_edge_londict
Dictionary with data of grid edge longitudes.
- create_shapefile()[source]
Create spatial GeoDataFrame (shapefile).
Returns
- shapefileGeoPandasDataFrame
Shapefile dataframe.
- daily_statistic(op, type_op='calendar')[source]
Calculate daily statistic.
Parameters
- opstr
Statistic to perform. Accepted values: “max”, “mean” and “min”.
- type_opstr
Type of statistic to perform. Accepted values: “calendar”, “alltsteps”, and “withoutt0”. - “calendar”: Calculate the statistic using the time metadata. It will avoid single time step by day
calculations
“alltsteps”: Calculate a single time statistic with all the time steps.
“withoutt0”: Calculate a single time statistic with all the time steps avoiding the first one.
- find_time_id(time)[source]
Find index of time in time array.
Parameters
- timedatetime
Time element.
Returns
- int
Index of time element.
- free_vars(var_list)[source]
Erase the selected variables from the variables’ information.
Parameters
- var_listList or str
List (or single string) of the variables to be loaded.
- get_centroids_from_coordinates()[source]
Get centroids from geographical coordinates.
Returns
- centroids_gdf: GeoPandasDataFrame
Centroids dataframe.
- get_climatology()[source]
Get whether the dataset represents climatological data.
Returns
- bool
True if the dataset represents climatological data, False otherwise.
- static get_earth_radius(ellps)[source]
Get minor and major axis of Earth.
Parameters
- ellpsstr
Spatial reference system.
- get_fids(use_read=False)[source]
Obtain the FIDs in a 2D format.
Parameters
- use_readbool
Indicate if you want to use the read_axis_limits
Returns
- array
2D array with the FID data.
- get_full_latitudes() Dict[str, Any] [source]
Retrieve the complete latitude information.
Returns
- Dict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- get_full_latitudes_boundaries() Dict[str, Any] [source]
Retrieve the complete latitude boundaries information.
Returns
- Dict[str, Any]
A dictionary containing the complete latitude boundaries data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude boundaries values. attr_name: attr_value, # Latitude boundaries attributes. …
}
- get_full_levels() Dict[str, Any] [source]
Retrieve the complete vertical level information.
Returns
- Dict[str, Any]
A dictionary containing the complete vertical level data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of vertical level values. attr_name: attr_value, # Vertical level attributes. …
}
- get_full_longitudes() Dict[str, Any] [source]
Retrieve the complete longitude information.
Returns
- Dict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- get_full_longitudes_boundaries() Dict[str, Any] [source]
Retrieve the complete longitude boundaries information.
Returns
- Dict[str, Any]
A dictionary containing the complete longitude boundaries data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude boundaries values. attr_name: attr_value, # Longitude boundaries attributes. …
}
- get_full_time_bnds() List[datetime] [source]
Retrieve the complete list of original time step boundaries.
Returns
- List[datetime]
The complete list of original time step boundary values from the netCDF data.
- get_full_times() List[datetime] [source]
Retrieve the complete list of original time step values.
Returns
- List[datetime]
The complete list of original time step values from the netCDF data.
- get_spatial_bounds_mesh_format()[source]
Get the spatial bounds in the pcolormesh format:
see: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pcolormesh.html
Returns
- lon_bnds_meshnumpy.ndarray
Longitude boundaries in the mesh format
- lat_bnds_meshnumpy.ndarray
Latitude boundaries in the mesh format
- property get_time_interval
Calculate the interrval of hours between time steps.
Returns
- int
Number of hours between time steps.
- interpolate_horizontal(dst_grid, weight_matrix_path=None, kind='NearestNeighbour', n_neighbours=4, info=False, to_providentia=False, only_create_wm=False, wm=None, flux=False)[source]
Horizontal methods from the current grid to another one.
Parameters
- dst_gridnes.Nes
Final projection Nes object.
- weight_matrix_pathstr, None
Path to the weight matrix to read/create.
- kindstr
Kind of horizontal methods. choices = [“NearestNeighbour”, “Conservative”].
- n_neighbours: int
Used if kind == NearestNeighbour. Number of nearest neighbours to interpolate. Default: 4.
- info: bool
Indicates if you want to print extra info during the methods process.
- to_providentiabool
Indicates if we want the interpolated grid in Providentia format.
- only_create_wmbool
Indicates if you want to only create the Weight Matrix.
- wmNes
Weight matrix Nes File.
- fluxbool
Indicates if you want to calculate the weight matrix for flux variables.
- interpolate_vertical(new_levels, new_src_vertical=None, kind='linear', extrapolate=None, info=None, overwrite=False)[source]
Vertical interpolation function.
Parameters
- selfNes
Source Nes object.
- new_levelsList
A List of new vertical levels.
- new_src_verticalnes.Nes, str
Nes object with the vertical information as variable or str with the path to the NetCDF file that contains the vertical data.
- kindstr
Vertical methods type.
- extrapolatebool or tuple or None or number or NaN
- If bool:
If True, both extrapolation options are set to “extrapolate”.
If False, extrapolation options are set to (“bottom”, “top”).
- If tuple:
The first element represents the extrapolation option for the lower bound.
The second element represents the extrapolation option for the upper bound.
- If any element is bool:
If True, it represents “extrapolate”.
- If False:
If it”s the first element, it represents “bottom”.
If it”s the second element, it represents “top”.
If any element is None, it is replaced with numpy.nan.
Other numeric values are kept as they are.
If any element is NaN, it is kept as NaN.
- If None:
Both extrapolation options are set to (NaN, NaN).
- If number:
Both extrapolation options are set to the provided number.
- If NaN:
Both extrapolation options are set to NaN.
- info: None, bool
Indicates if you want to print extra information.
- overwrite: bool
Indicates if you want to compute the vertical interpolation in the same object or not.
- keep_vars(var_list)[source]
Keep the selected variables and erases the rest.
Parameters
- var_listList or str
List (or single string) of the variables to be loaded.
- load(var_list=None)[source]
Load of the selected variables.
That function will fill the variable “data” key with the corresponding values.
Parameters
- var_listList, str, None
List (or single string) of the variables to be loaded.
- static lon_lat_to_cartesian_ecef(lon, lat)[source]
# Convert observational/model geographic longitude/latitude coordinates to cartesian ECEF (Earth Centred, # Earth Fixed) coordinates, assuming WGS84 datum and ellipsoid, and that all heights = 0. # ECEF coordinates represent positions (in meters) as X, Y, Z coordinates, approximating the earth surface # as an ellipsoid of revolution. # This conversion is for the subsequent calculation of Euclidean distances of the model grid cell centres # from each observational station. # Defining the distance between two points on the earth’s surface as simply the Euclidean distance # between the two lat/lon pairs could lead to inaccurate results depending on the distance # between two points (i.e. 1 deg. of longitude varies with latitude).
Parameters
- lonarray
Longitude values.
- latarray
Latitude values.
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default over Y axis accepted values: [“X”, “Y”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint or None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timesList[datetime] or None
List of times to substitute the current ones while creation.
- reverse_level_direction()[source]
Reverse the current direction of the vertical level values.
Returns
- bool
True if the direction was reversed successfully.
- rolling_mean(var_list=None, hours=8)[source]
Calculate rolling mean for given hours
Parameters
- var_list: List, str, None
List (or single string) of the variables to be loaded.
- hoursint, optional
Window hours to calculate rolling mean, by default 8
Returns
- Nes
A Nes object
- sel(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)[source]
Select a slice of time, vertical level, latitude, or longitude given minimum and maximum limits.
Parameters
- hours_startint, optional
The number of hours from the start to begin the selection.
- time_mindatetime, optional
The minimum datetime for the time selection. Mutually exclusive with hours_start.
- hours_endint, optional
The number of hours from the end to end the selection.
- time_maxdatetime, optional
The maximum datetime for the time selection. Mutually exclusive with hours_end.
- lev_minint, optional
The minimum vertical level index for the selection.
- lev_maxint, optional
The maximum vertical level index for the selection.
- lat_minfloat, optional
The minimum latitude for the selection.
- lat_maxfloat, optional
The maximum latitude for the selection.
- lon_minfloat, optional
The minimum longitude for the selection.
- lon_maxfloat, optional
The maximum longitude for the selection.
Returns
None
Raises
- ValueError
If any variables are already loaded or if mutually exclusive parameters are both provided.
Notes
This method updates the selection criteria for the dataset and recalculates the read and write axis limits accordingly. It also updates the time, level, latitude, and longitude slices based on the new criteria.
- sel_time(time, inplace=True)[source]
To select only one time step.
Parameters
- timedatetime
Time stamp to select.
- inplacebool
Indicates if you want a copy with the selected time step (False) or to modify te existing one (True).
Returns
- Nes
A Nes object with the data (and metadata) of the selected time step.
- set_climatology(is_climatology)[source]
Set whether the dataset represents climatological data.
Parameters
- is_climatologybool
A boolean indicating if the dataset represents climatological data.
Returns
None
Raises
- TypeError
If is_climatology is not a boolean.
- set_communicator(comm)[source]
Set a new communicator and the correspondent parallelization indexes.
Parameters
- comm: MPI.COMM
Communicator to be set.
- set_full_latitudes(data: Dict[str, Any]) None [source]
Set the complete latitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- set_full_latitudes_boundaries(data: Dict[str, Any]) None [source]
Set the complete latitude boundaries information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete latitude boundaries data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude boundaries values. attr_name: attr_value, # Latitude boundaries attributes. …
}
- set_full_levels(data: Dict[str, Any]) None [source]
Set the complete vertical level information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete vertical level data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of vertical level values. attr_name: attr_value, # Vertical level attributes. …
}
- set_full_longitudes(data: Dict[str, Any]) None [source]
Set the complete longitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- set_full_longitudes_boundaries(data: Dict[str, Any]) None [source]
Set the complete longitude boundaries information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete longitude boundaries data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude boundaries values. attr_name: attr_value, # Longitude boundaries attributes. …
}
- set_full_time_bnds(data: List[datetime]) None [source]
Set the complete list of original time step boundaries.
Parameters
- dataList[datetime]
The complete list of original time step boundary values to set.
- set_full_times(data: List[datetime]) None [source]
Set the complete list of original time step values.
Parameters
- dataList[datetime]
The complete list of original time step values to set.
- set_level_direction(new_direction)[source]
Set the direction of the vertical level values.
Parameters
- new_directionstr
The new direction for the vertical levels. Must be either “up” or “down”.
Returns
- bool
True if the direction was set successfully.
Raises
- ValueError
If new_direction is not “up” or “down”.
- set_levels(levels)[source]
Modify the original level values with new ones.
Parameters
- levelsdict
Dictionary with the new level information to be set.
- set_strlen(strlen=75)[source]
Set the strlen
75 is the standard value used in GHOST data
Parameters
- strlenint or None
Max length of the string
- set_time(time_list)[source]
Modify the original level values with new ones.
Parameters
- time_listList[datetime]
List of time steps
- set_time_bnds(time_bnds)[source]
Modify the original time bounds values with new ones.
Parameters
- time_bndsList
AList with the new time bounds information to be set.
- set_time_resolution(new_resolution)[source]
Set the time resolution for the dataset.
Parameters
- new_resolutionstr
The new time resolution. Accepted values are “second”, “seconds”, “minute”, “minutes”, “hour”, “hours”, “day”, “days”.
Returns
- bool
True if the time resolution was set successfully.
Raises
- ValueError
If new_resolution is not one of the accepted values.
- spatial_join(ext_shp, method=None, var_list=None, info=False, apply_bbox=True)[source]
Compute overlay intersection of two GeoPandasDataFrames.
Parameters
- ext_shpGeoPandasDataFrame or str
File or path from where the data will be obtained on the intersection.
- methodstr
Overlay method. Accepted values: [“nearest”, “intersection”, “centroid”].
- var_listList or None
Variables that will be included in the resulting shapefile.
- infobool
Indicates if you want to print the process info.
- apply_bboxbool
Indicates if you want to reduce the shapefile to a bbox.
- to_dtype(data_type='float32')[source]
Cast variables data into selected data type.
Parameters
- data_typestr or Type
Data type, by default “float32”
- to_grib2(path, grib_keys, grib_template_path, lat_flip=True, info=False)[source]
Write output file with grib2 format.
Parameters
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- lat_flipbool
Indicates if the latitude values (and data) has to be flipped
- infobool
Indicates if you want to print extra information during the process.
- to_netcdf(path, compression_level=0, serial=False, info=False, chunking=False, nc_type='NES', keep_open=False)[source]
Write the netCDF output file.
Parameters
- pathstr
Path to the output netCDF file.
- compression_levelint
Level of compression (0 to 9) Default: 0 (no compression).
- serialbool
Indicates if you want to write in serial or not. Default: False.
- infobool
Indicates if you want to print the information of each writing step by stdout Default: False.
- chunkingbool
Indicates if you want a chunked netCDF output. Only available with non-serial writes. Default: False.
- nc_typestr
Type to NetCDf to write. “CAMS_RA” or “NES”
- keep_openbool
Indicates if you want to keep open the NetCDH to fill the data by time-step
- to_shapefile(path, time=None, lev=None, var_list=None)[source]
Create shapefile from NES data.
Create grid shapefile.
Add variables to shapefile (as independent function).
Write shapefile.
Parameters
- pathstr
Path to the output file.
- timedatetime
Time stamp to select.
- levint
Vertical level to select.
- var_listList, str, None
List (or single string) of the variables to be loaded and saved in the shapefile.
Regulat lat lon projection
- class nes.nc_projections.latlon_nes.LatLonNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
Nes
Attributes
- _var_dimtuple
A Tuple with the name of the Y and X dimensions for the variables. (“lat”, “lon”) for a regular latitude-longitude projection.
- _lat_dimtuple
A Tuple with the name of the dimensions of the Latitude values. (“lat”, ) for a regular latitude-longitude projection.
- _lon_dimtuple
A Tuple with the name of the dimensions of the Longitude values. (“lon”, ) for a regular latitude-longitude projection.
- create_providentia_exp_centre_coordinates()[source]
Calculate centre latitudes and longitudes from original coordinates and store as 2D arrays.
Returns
- model_centre_latdict
Dictionary with data of centre coordinates for latitude in 2D (latitude, longitude).
- model_centre_londict
Dictionary with data of centre coordinates for longitude in 2D (latitude, longitude).
- create_providentia_exp_grid_edge_coordinates()[source]
Calculate grid edge latitudes and longitudes and get model grid outline.
Returns
- grid_edge_latdict
Dictionary with data of grid edge latitudes.
- grid_edge_londict
Dictionary with data of grid edge longitudes.
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “Y”. Accepted values: [“X”, “Y”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint, None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- to_grib2(path, grib_keys, grib_template_path, lat_flip=False, info=False)[source]
Write output file with grib2 format.
Parameters
- lat_flipbool
Indicates if the latitudes have to be flipped
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- infobool
Indicates if you want to print extra information during the process.
LCC projection
- class nes.nc_projections.lcc_nes.LCCNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
Nes
Attributes
- _full_ydict
Y coordinates dictionary with the complete “data” key for all the values and the rest of the attributes.
- _full_xdict
X coordinates dictionary with the complete “data” key for all the values and the rest of the attributes.
- ydict
Y coordinates dictionary with the portion of “data” corresponding to the rank values.
- xdict
X coordinates dictionary with the portion of “data” corresponding to the rank values.
- _var_dimtuple
A Tuple with the name of the Y and X dimensions for the variables. (“y”, “x”, ) for an LCC projection.
- _lat_dimtuple
A Tuple with the name of the dimensions of the Latitude values. (“y”, “x”, ) for an LCC projection.
- _lon_dimtuple
ATuple with the name of the dimensions of the Longitude values. (“y”, “x”) for an LCC projection.
- create_providentia_exp_centre_coordinates()[source]
Calculate centre latitudes and longitudes from original coordinates and store as 2D arrays.
Returns
- model_centre_latdict
Dictionary with data of centre coordinates for latitude in 2D (latitude, longitude).
- model_centre_londict
Dictionary with data of centre coordinates for longitude in 2D (latitude, longitude).
- create_providentia_exp_grid_edge_coordinates()[source]
Calculate grid edge latitudes and longitudes and get model grid outline.
Returns
- grid_edge_latdict
Dictionary with data of grid edge latitudes.
- grid_edge_londict
Dictionary with data of grid edge longitudes.
- create_shapefile()[source]
Create spatial GeoDataFrame (shapefile).
Returns
- shapefileGeoPandasDataFrame
Shapefile dataframe.
- get_centroids_from_coordinates()[source]
Get centroids from geographical coordinates.
Returns
- centroids_gdf: GeoPandasDataFrame
Centroids dataframe.
- get_full_x() Dict[str, Any] [source]
Retrieve the complete X information.
Returns
- Dict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- get_full_y() Dict[str, Any] [source]
Retrieve the complete Y information.
Returns
- Dict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “Y”. Accepted values: [“X”, “Y”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint, None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- set_full_x(data: Dict[str, Any]) None [source]
Set the complete rotated longitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- set_full_y(data: Dict[str, Any]) None [source]
Set the complete Y information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- to_grib2(path, grib_keys, grib_template_path, lat_flip=False, info=False)[source]
Write output file with grib2 format.
Parameters
- lat_flipbool
Indicates if the latitudes need to be flipped Up-Down or Down-Up. Default False.
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- infobool
Indicates if you want to print extra information during the process.
Mercator projection
- class nes.nc_projections.mercator_nes.MercatorNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
Nes
Attributes
- _full_ydict
Y coordinates dictionary with the complete “data” key for all the values and the rest of the attributes.
- _full_xdict
X coordinates dictionary with the complete “data” key for all the values and the rest of the attributes.
- ydict
Y coordinates dictionary with the portion of “data” corresponding to the rank values.
- xdict
X coordinates dictionary with the portion of “data” corresponding to the rank values.
- _var_dimtuple
A Tuple with the name of the Y and X dimensions for the variables. (“y”, “x”) for a Mercator projection.
- _lat_dimtuple
A Tuple with the name of the dimensions of the Latitude values. (“y”, “x”) for a Mercator projection.
- _lon_dimtuple
A Tuple with the name of the dimensions of the Longitude values. (“y”, “x”) for a Mercator projection.
- create_providentia_exp_centre_coordinates()[source]
Calculate centre latitudes and longitudes from original coordinates and store as 2D arrays.
Returns
- model_centre_latdict
Dictionary with data of centre coordinates for latitude in 2D (latitude, longitude).
- model_centre_londict
Dictionary with data of centre coordinates for longitude in 2D (latitude, longitude).
- create_providentia_exp_grid_edge_coordinates()[source]
Calculate grid edge latitudes and longitudes and get model grid outline.
Returns
- grid_edge_latdict
Dictionary with data of grid edge latitudes.
- grid_edge_londict
Dictionary with data of grid edge longitudes.
- create_shapefile()[source]
Create spatial GeoDataFrame (shapefile).
Returns
- shapefileGeoPandasDataFrame
Shapefile dataframe.
- get_centroids_from_coordinates()[source]
Get centroids from geographical coordinates.
Returns
- centroids_gdf: GeoPandasDataFrame
Centroids dataframe.
- get_full_x() Dict[str, Any] [source]
Retrieve the complete X information.
Returns
- Dict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- get_full_y() Dict[str, Any] [source]
Retrieve the complete Y information.
Returns
- Dict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “Y”. Accepted values: [“X”, “Y”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint, None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- set_full_x(data: Dict[str, Any]) None [source]
Set the complete rotated longitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- set_full_y(data: Dict[str, Any]) None [source]
Set the complete Y information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- to_grib2(path, grib_keys, grib_template_path, lat_flip=False, info=False)[source]
Write output file with grib2 format.
Parameters
- lat_flipbool
Indicates if you want to flip latitudes Up-Down
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- infobool
Indicates if you want to print extra information during the process.
Points projection
- class nes.nc_projections.points_nes.PointsNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
Nes
Attributes
- _var_dimtuple
A Tuple with the name of the Y and X dimensions for the variables. (“lat”, “lon”, ) for a points grid.
- _lat_dimtuple
A Tuple with the name of the dimensions of the Latitude values. (“lat”, ) for a points grid.
- _lon_dimtuple
A Tuple with the name of the dimensions of the Longitude values. (“lon”, ) for a points grid.
- _stationtuple
A Tuple with the name of the dimensions of the station values. (“station”, ) for a points grid.
- add_variables_to_shapefile(var_list, idx_lev=0, idx_time=0)[source]
Add variables data to shapefile.
- var_listlist, str
List (or single string) of the variables to be loaded and saved in the shapefile.
- idx_levint
Index of vertical level for which the data will be saved in the shapefile.
- idx_timeint
Index of time for which the data will be saved in the shapefile.
- create_shapefile()[source]
Create spatial GeoDataFrame (shapefile).
Returns
- shapefileGeoPandasDataFrame
Shapefile dataframe.
- get_centroids_from_coordinates()[source]
Get centroids from geographical coordinates.
Returns
- centroids_gdf: GeoPandasDataFrame
Centroids dataframe.
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “X”. accepted values: [“X”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint, None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- to_grib2(path, grib_keys, grib_template_path, lat_flip=False, info=False)[source]
Write output file with grib2 format.
Parameters
- lat_flipbool
Indicates if you want to flip the latitude direction.
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- infobool
Indicates if you want to print extra information during the process.
GHOST projection
- class nes.nc_projections.points_nes_ghost.PointsNesGHOST(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
PointsNes
Attributes
- _qadict
Quality flags (GHOST checks) dictionary with the complete “data” key for all the values and the rest of the attributes.
- _flagdict
Data flags (given by data provider) dictionary with the complete “data” key for all the values and the rest of the attributes.
- _qadict
Quality flags (GHOST checks) dictionary with the portion of “data” corresponding to the rank values.
- _flagdict
Data flags (given by data provider) dictionary with the portion of “data” corresponding to the rank values.
- add_variables_to_shapefile(var_list, idx_lev=0, idx_time=0)[source]
Add variables data to shapefile.
- var_listlist, str
List (or single string) of the variables to be loaded and saved in the shapefile.
- idx_levint
Index of vertical level for which the data will be saved in the shapefile.
- idx_timeint
Index of time for which the data will be saved in the shapefile.
- static get_standard_metadata(ghost_version)[source]
Get all possible GHOST variables for each version.
Parameters
- ghost_versionstr
Version of GHOST file.
Returns
- metadata_variables[GHOST_version]list
A List of metadata variables for a certain GHOST version
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the PointsNesGHOST 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “X”. Accepted values: [“X”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint, None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- to_netcdf(path, compression_level=0, serial=False, info=False, chunking=False, nc_type='NES', keep_open=False)[source]
Write the netCDF output file.
Parameters
keep_open : bool nc_type : str path : str
Path to the output netCDF file.
- compression_levelint
Level of compression (0 to 9) Default: 0 (no compression).
- serialbool
Indicates if you want to write in serial or not. Default: False.
- infobool
Indicates if you want to print the information of each writing step by stdout Default: False.
- chunkingbool
Indicates if you want a chunked netCDF output. Only available with non-serial writes. Default: False.
Providentia projection
- class nes.nc_projections.points_nes_providentia.PointsNesProvidentia(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
PointsNes
Attributes
- _model_centre_londict
Model centre longitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- _model_centre_latdict
Model centre latitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- _grid_edge_londict
Grid edge longitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- _grid_edge_latdict
Grid edge latitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- model_centre_londict
Model centre longitudes dictionary with the portion of “data” corresponding to the rank values.
- model_centre_latdict
Model centre latitudes dictionary with the portion of “data” corresponding to the rank values.
- grid_edge_londict
Grid edge longitudes dictionary with the portion of “data” corresponding to the rank values.
- grid_edge_latdict
Grid edge latitudes dictionary with the portion of “data” corresponding to the rank values.
- add_variables_to_shapefile(var_list, idx_lev=0, idx_time=0)[source]
Add variables data to shapefile.
- var_listlist, str
List (or single string) of the variables to be loaded and saved in the shapefile.
- idx_levint
Index of vertical level for which the data will be saved in the shapefile.
- idx_timeint
Index of time for which the data will be saved in the shapefile.
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the PointsNesProvidentia 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default: “X”. Accepted values: [“X”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use
- last_levelint, None
Index of the last level to use. None if it is the last.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timeslist, None
List of times to substitute the current ones while creation.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- model_centre_londict
Model centre longitudes dictionary with the portion of “data” corresponding to the rank values.
- model_centre_latdict
Model centre latitudes dictionary with the portion of “data” corresponding to the rank values.
- grid_edge_londict
Grid edge longitudes dictionary with the portion of “data” corresponding to the rank values.
- grid_edge_latdict
Grid edge latitudes dictionary with the portion of “data” corresponding to the rank values.
- to_netcdf(path, compression_level=0, serial=False, info=False, chunking=False, nc_type='NES', keep_open=False)[source]
Write the netCDF output file.
Parameters
- pathstr
Path to the output netCDF file.
- compression_levelint
Level of compression (0 to 9) Default: 0 (no compression).
- serialbool
Indicates if you want to write in serial or not. Default: False.
- infobool
Indicates if you want to print the information of each writing step by stdout Default: False.
- chunkingbool
Indicates if you want a chunked netCDF output. Only available with non-serial writes. Default: False.
- nc_typestr
Type to NetCDf to write. “CAMS_RA” or “NES”
- keep_openbool
Indicates if you want to keep open the NetCDH to fill the data by time-step
Rotated projection
- class nes.nc_projections.rotated_nes.RotatedNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
Nes
Attributes
- _full_rlatdict
Rotated latitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- _full_rlondict
Rotated longitudes dictionary with the complete “data” key for all the values and the rest of the attributes.
- rlatdict
Rotated latitudes dictionary with the portion of “data” corresponding to the rank values.
- rlondict
Rotated longitudes dictionary with the portion of “data” corresponding to the rank values.
- _var_dimtuple
A Tuple with the name of the Y and X dimensions for the variables. (“rlat”, “rlon”) for a rotated projection.
- _lat_dimtuple
A Tuple with the name of the dimensions of the Latitude values. (“rlat”, “rlon”) for a rotated projection.
- _lon_dimtuple
A Tuple with the name of the dimensions of the Longitude values. (“rlat”, “rlon”) for a rotated projection.
- create_providentia_exp_centre_coordinates()[source]
Calculate centre latitudes and longitudes from original coordinates and store as 2D arrays.
Returns
- model_centre_latdict
Dictionary with data of centre coordinates for latitude in 2D (latitude, longitude).
- model_centre_londict
Dictionary with data of centre coordinates for longitude in 2D (latitude, longitude).
- create_providentia_exp_grid_edge_coordinates()[source]
Calculate grid edge latitudes and longitudes and get model grid outline.
Returns
- grid_edge_latdict
Dictionary with data of grid edge latitudes.
- grid_edge_londict
Dictionary with data of grid edge longitudes.
- create_shapefile()[source]
Create spatial geodataframe (shapefile).
Returns
- shapefileGeoPandasDataFrame
Shapefile dataframe.
- get_centroids_from_coordinates()[source]
Get centroids from geographical coordinates.
Returns
- centroids_gdf: GeoPandasDataFrame
Centroids dataframe.
- get_full_rlat() Dict[str, Any] [source]
Retrieve the complete rotated latitude information.
Returns
- Dict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- get_full_rlon() Dict[str, Any] [source]
Retrieve the complete rotated longitude information.
Returns
- Dict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- static new(comm=None, path=None, info=False, dataset=None, 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)[source]
Initialize the Nes 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.
- parallel_methodstr
Indicates the parallelization method that you want. Default over Y axis accepted values: [“X”, “Y”, “T”].
- avoid_first_hoursint
Number of hours to remove from first time steps.
- avoid_last_hoursint
Number of hours to remove from last time steps.
- first_levelint
Index of the first level to use.
- last_levelint or None
Index of the last level to use. None if it is the last.
- create_nesbool
Indicates if you want to create the object from scratch (True) or through an existing file.
- balancedbool
Indicates if you want a balanced parallelization or not. Balanced dataset cannot be written in chunking mode.
- timesList[datetime] or None
List of times to substitute the current ones while creation.
- rotated2latlon(lon_deg, lat_deg, lon_min=-180)[source]
Calculate the unrotated coordinates using the rotated ones.
Parameters
- lon_degarray
Rotated longitude coordinate.
- lat_degarray
Rotated latitude coordinate.
- lon_minfloat
Minimum value for the longitudes: -180 (-180 to 180) or 0 (0 to 360).
Returns
- almdarray
Unrotated longitudes.
- aphdarray
Unrotated latitudes.
- set_full_rlat(data: Dict[str, Any]) None [source]
Set the complete rotated latitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete latitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of latitude values. attr_name: attr_value, # Latitude attributes. …
}
- set_full_rlon(data: Dict[str, Any]) None [source]
Set the complete rotated longitude information.
Parameters
- dataDict[str, Any]
A dictionary containing the complete longitude data and its attributes. The dictionary structure is: {
“data”: ndarray, # Array of longitude values. attr_name: attr_value, # Longitude attributes. …
}
- to_grib2(path, grib_keys, grib_template_path, lat_flip=False, info=False)[source]
Write output file with grib2 format.
Parameters
- lat_flipbool
Indicates if you want to flip the latitude coordinates.
- pathstr
Path to the output file.
- grib_keysdict
Dictionary with the grib2 keys.
- grib_template_pathstr
Path to the grib2 file to use as template.
- infobool
Indicates if you want to print extra information during the process.
Rotated nested projection
- class nes.nc_projections.rotated_nested_nes.RotatedNestedNes(comm=None, path=None, info=False, dataset=None, 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)[source]
Bases:
RotatedNes