- generate kml file from ssh_catalog (
geopandas.GeoDataFrame
) withdfmt.ssh_catalog_tokmlfile()
in #809 - generate time availability overview and statistics from insitu netcdf files with
dfmt.ssh_netcdf_overview()
in #807 - simplified
rwsddl_ssh_retrieve_data()
by usingddlpy.dataframe_to_xarray()
in #805 - updated cmems analysisforecast bio dataset ids in #816
- from ftp to copernicusmarine files service for insitu data in #818
- simplified
dfmt.download.copernicusmarine_credentials()
in #819
- fixed xy coordinates for cmems insitu netcdf files in #807
- added ddl/rws insitu data to
dfmt.ssh_catalog_subset()
anddfmt.ssh_retrieve_data()
by @veenstrajelmer in #791 and #796 - added cmems nrt insitu data to
dfmt.ssh_catalog_subset()
anddfmt.ssh_retrieve_data()
by @veenstrajelmer in #791 and #793 - support for meshkernel>=4.1.0 in #801
- solve xarray FutureWarning about
ds.dims[dim]
by @veenstrajelmer in #779 - support copernicusmarine>=1.0.2 in
copernicusmarine_credentials()
and madecopernicusmarine_reset()
modular by @veenstrajelmer in #787
- automatically parse epsg from FM mapfile to crs in
dfmt.open_partitioned_dataset()
by @veenstrajelmer in #685 - added spatial/temporal subsetting and retrieving of insitu observation data with
dfmt.ssh_catalog_subset()
anddfmt.ssh_retrieve_data()
by @veenstrajelmer in #711 - added conversion of absolute to relative paths for modelbuilder with
dfmt.make_paths_relative()
by @veenstrajelmer in #723 - add retrieval and plotting of borders with
dfmt.get_borders_gdb()
anddfmt.plot_borders()
by @veenstrajelmer in #750 - improve z and sigmaz layer reconstruction (nans below bed and above waterlevel and centers as mean of interfaces) in
reconstruct_zw_zcc()
by @veenstrajelmer in #755 and #759 - simplified correctly merging of ERA5 int16 meteofiles in
merge_meteofiles()
by @veenstrajelmer in #738 - expecting da instead of ds in
refine_basegrid()
by @veenstrajelmer in #762 - added support for Python 3.12 by @veenstrajelmer in #763
- moved from
copernicus-marine-client
tocopernicusmarine
indfmt.download_CMEMS()
by @veenstrajelmer in #721 and #772 - added reset of Copernicus Marine Toolbox with
dfmt.download.copernicusmarine_reset()
by @veenstrajelmer in #714
- prevent ValueError upon concatenation of only emtpy coastlines geodataframes by @veenstrajelmer in #717
- added dropped crs variable in network file by @veenstrajelmer in #719
- moved gtsmv4.1 tide interpolation from extrapolated to rasterized dataset by @veenstrajelmer in #731
- limited
dfmt.download_CMEMS()
freq argument to M/D only by @veenstrajelmer in #733 - suppres xarray chunking warning by @veenstrajelmer in #742
- remove mesh2d hardcoding from layer reconstruction by @veenstrajelmer in #747
- generalized finding of sigma layer/interface variables via attrs in
reconstruct_zw_zcc()
by @veenstrajelmer in #765
- deprecated
dfmt.preprocess_hirlam()
since xarray>=2023.9.0 supports multidimensional coordinates by @veenstrajelmer in #770
- replaced
is_geographic
withcrs
argument indfmt.make_basegrid()
by @veenstrajelmer in #696 - moved from
OPeNDAP
tocopernicus-marine-client
indfmt.download_CMEMS()
including safer authentication by @veenstrajelmer in #691 - added timerange check of resulting dataset of
dfmt.open_dataset_extra()
by @veenstrajelmer in #708
Support for Python 3.8 was dropped (more info)
- pop np.nan
_FillValue
attrs indfmt.open_partitioned_dataset()
by @veenstrajelmer in #662 - interpolation of edge/node variables to faces with
dfmt.uda_to_faces()
(deprecatesdfmt.uda_edges_to_faces()
) by @veenstrajelmer in #651 and #644 - meshkernel 3.0.0 support by @veenstrajelmer in #621 and #665
- removed support for Python 3.8 by @veenstrajelmer in #666
- get
is_geographic
from crs instead of hardcoded inadd_crs_to_dataset
by @veenstrajelmer in #657 - performance improvements of
dfmt.uda_to_faces()
by @veenstrajelmer in #652
- more robust support for CMEMS/CDS credentials including environment variables by @veenstrajelmer in #633
- enrich rst file with topology from corresponding mapfile with
dfmt.enrich_rst_with_map()
by @veenstrajelmer in #626 - add cellinfo to minimal 2D networks (with 1D topology) with
dfmt.add_network_cellinfo()
by @veenstrajelmer in #624 - xugrid feature
uds.ugrid.to_nonperiodic()
deprecatesdfmt.remove_periodic_cells()
by @veenstrajelmer in #503 - support for initial fields for variables other than salinity/temperature with
dfmt.cmems_nc_to_ini()
by @veenstrajelmer in #619
- fix initial fields for salinity/temperature with
dfmt.cmems_nc_to_ini()
by @veenstrajelmer in #619 - increased buffer in
dfmt.download_ERA5()
by @veenstrajelmer in #612 - support for Polygon geometries in
dfmt.geodataframe_to_PolyFile()
by @veenstrajelmer in #610 - fill nan-values in initial salinity/temperature netcdf dataset in
dfmt.preprocess_ini_cmems_to_nc()
by @veenstrajelmer in #617 - skip all-nan boundary support points instead of converting to zeros in
dfmt.plipointsDataset_to_ForcingModel()
by @veenstrajelmer in #637
- create
dimr_config.xml
andrun_parallel.bat
withdfmt.create_model_exec_files()
by @veenstrajelmer in #599 - conversion of
hcdfm.ForcingModel
toxr.Dataset
withdfmt.ForcingModel_to_plipointsDataset()
by @veenstrajelmer in #567 - support for reading asc files with
dfmt.read_asc()
by @veenstrajelmer in #571 - added
dfmt.meshkernel_delete_withshp()
to delete parts of a mesh with a shapefile, while only reading the shapefile within the bounding box of the mesh by @rqwang in #548 and #566 - improved spatial interpolation in
dfmt.interp_regularnc_to_plipoints()
by combining linear with nearest interpolation by @veenstrajelmer in #561 - added
GTSMv4.1
andGTSMv4.1_opendap
datasets for tide interpolation withdfmt.interpolate_tide_to_bc()
by @veenstrajelmer in #544 - support for
preprocess
argument indfmt.open_partitioned_dataset()
by @veenstrajelmer in #530
- increased buffer for WAQ cmems variables by @veenstrajelmer in #601
- prevent concatenation of datasets with slightly different coordinates by @veenstrajelmer in #595
- aligned ncbnd dataset with FM/FEWS conventions by @veenstrajelmer in #567
- documented minimal dependency versions to avoid issues with installation in existing environments containing old dependency versions by @veenstrajelmer in #581
- decoding of default fillvalues with
dfmt.decode_default_fillvals()
by @veenstrajelmer in #496 - interpolation of edge variables to faces with
dfmt.uda_edges_to_faces()
by @veenstrajelmer in #482 - interpolation of variables on layer interfaces to layer centers with
dfmt.uda_interfaces_to_centers()
by @veenstrajelmer in #482 - generate polyline only for open boundary with
dfmt.generate_bndpli_cutland()
(deprecatesdfmt.generate_bndpli()
) by @veenstrajelmer in #466 - automatically remove unassociated edges with
dfmt.remove_unassociated_edges()
by @veenstrajelmer in #470 and #494 - clarifying error message when providing incorrectly formatted cds api key by @JulienGroenenboom in #514
- removed
matplotlib._api
import to also supportmatplotlib<3.4.0
by @veenstrajelmer in #465
- proper fix for FM-compatible network file (1-based face_node_connectivity) by @veenstrajelmer in #461
- exposed opendap testdata with
dfmt.data.fm_grevelingen_map()
(and others) by @veenstrajelmer in #439 - made coastlines portable with
dfmt.data.gshhs_coastlines_shp()
by @veenstrajelmer in #443 - improved CMEMS and ERA5 authentication via getpass by @veenstrajelmer in #449
- aligned mesh deletion with
dfmt.meshkernel_delete_withgdf()
by @veenstrajelmer in #455
- added
dfmt.uds_to_1based_ds()
to ensure FM-compatible network file (1-based face_node_connectivity) by @veenstrajelmer in #456
- added support for curvilinear datasets like CMCC and WAQUA with
open_dataset_curvilinear()
by @veenstrajelmer in #397 - added support for curvilinear Delft3D4 datasets with
open_dataset_delft3d4()
by @veenstrajelmer in #398 - retrieving GSHHS landboundary with
get_coastlines_gdb()
and cartopy-alternativeplot_coastlines()
with this dataset by @veenstrajelmer in #342 - added interpolation from UgridDataset (D-FlowFM mapfile) to plipoints with
interp_uds_to_plipoints()
by @veenstrajelmer #387 - added geodataframe support from polyfile with
PolyFile_to_geodataframe_points()
by @veenstrajelmer in #387
- proper selection for either CMEMS reanalysis/forecast product in
download_CMEMS()
by @JulienGroenenboom in #308 - slightly extend spatial and time domain when downloading ERA5 and CMEMS data by @JulienGroenenboom in #390
- renamed uxuy to uxuyadvectionvelocitybnd in
open_dataset_extra()
and related example script by @veenstrajelmer in #366 - add warning when interpolating to a boundary that contains multiple polylines by @Tammo-Zijlker-Deltares in #372
- improved netcdf writing from meshkernel+xugrid generated network with
add_crs_to_dataset()
by @veenstrajelmer in #422
Replaced large parts of the code with HYDROLIB-core, xugrid and xarray. This means a non-backwards compatible change in the API but improved experience. xugrid gives loads of new features like coordinate conversion, shapefile export, cropping a unstructured dataset, regridding, rasterizing.
- improved support for ugrid datasets (D-FlowFM, D-HYDRO) with
open_partitioned_dataset()
by @veenstrajelmer in several PRs, this deprecatesget_ncmodeldata()
,get_netdata()
,plot_netmapdata()
andget_ugrid_verts()
- improved rasterization of ugrid datasets with
rasterize_ugrid()
by @veenstrajelmer in #314, this deprecatesscatter_to_regulargrid()
- depth slicing of ugrid datasets with
get_Dataset_atdepths()
by @veenstrajelmer in #261 - polygon slicing of ugrid datasets with
polyline_mapslice()
by @veenstrajelmer in #266 and #273 - reconstruction of fullgrid ugrid variable from sigma, zsigma and z-layers with
reconstruct_zw_zcc()
by @veenstrajelmer in #291 and #293 - added support for D-FlowFM mapformat 1 by @veenstrajelmer in #249
- support for plotting of periodic grid with
remove_periodic_cells()
by @veenstrajelmer in #286 - renaming water quality variables in dataset with
rename_waqvars()
by @veenstrajelmer in #259, this deprecatesget_varnamefromattrs()
- renaming variables in fourier dataset with
rename_fouvars()
by @veenstrajelmer in #283 - simplified background plotting with contextily and cartopy by @veenstrajelmer in #328, this deprecates
plot_background()
- create release and pypi/pip installable by @veenstrajelmer in #338
- using HYDROLIB-core for reading/writing of D-FlowFM files, this deprecates
write_bcfile()
,read_bcfile()
,Polygon()
,write_timfile()
andread_timfile()
- interpolation of regularly gridded dataset (CMEMS, HYCOM etc) to plipoints with
interp_regularnc_to_plipoints()
by @veenstrajelmer - interpolation of regularly gridded tide datasets to plipoints with
interpolate_tide_to_bc()
by @veenstrajelmer in #288 - added modelbuilder by @veenstrajelmer in #305
- added meshkernelpy helper functions like
make_basegrid()
,refine_basegrid()
andmeshkernel_to_UgridDataset()
by @veenstrajelmer in #329
- made bedlevel variable optional in
get_Dataset_atdepths()
, if not explicitly needing it by @veenstrajelmer in #241