Releases: ArcticSnow/TopoPyScale
clustering fix
An error in remapping the pixels after clustering to their actual location was providing critical unwanted behavior. The latest commits fix this issue by specifying in the np.reshape() the type of order to reshape the vector using the Fortran type.
Line 452-457 in topoclass.py
With previous version, when using the clustering option, pixels would not be remapped properly. FIXED :)
bug fix
V0.3.0 New parallelization scheme using Zarr store
This version is a big overall with 1) the parallelization procedure which now can use Zarr store to improve IO efficiency and 2) the migration and compilation of topocalc to Python 3.13. It also includes a number of small improvement and bug correction.
WARNING: you should now reinstall a Python VE using Python 3.13. Follow instructions on the doc
Large improvements
- file
topo_scall_zarr.pyholds the new method to downscale from a Zarr store to netcdf (or zarr, in alpha test) fetch_era5.pyincludes function to convert stack of netcdf to zarrTopoPyScaleis not running under Python 3.13
Other changes
- usage of Path()
- removing
topo_da.py. Must removegdalandosgeodependency for a come back - migrate
setup.pytopyproject.toml - topocalc is now forked and improved to a version that compiles under Python 3.13
- added wrning for DEM projection
- fixed bug with group clustering
- added weights of cluster density in groups
- fixed missing relative humidity in PLEV fetching from cds
ERA5 from CDS working again
Big bug fix of the CDS API downloading capabilities with commit: 57d6a1c
- now request are daily.
- it automaticaaly deal with the weird ZIP files that ERA5 may deliver (in particular for surface data)
- documentation is now part of the main repo under the folder
doc/ - function called 'process_SURF_file()
was renamedunzip_file()`. it is run right after the download request. it is also more generic - dropped the need for the library
cfgrib. Use the librarycdoinstead that has many useful and efficiently coded functionalities
I hope this is working robustly. There may still be some bugs as the logic has changed slightly.
Enjoy
major bug on daily cycle of SW and minor other things
This release is triggered by the find by @mmazzolini on the SW orientation. Eastern and western slopes were unversed. I cannot believe this went unnoticed to all of us developers and users of TPS. So thank you again Marco for this find and your PR.
Then this new release code adds corrections to few minor typos, new bits of codes to fetch data from the Google Cloud Storage, improvements for mask and groups. For further detail you may refer to all the commits from Jan 29th 2025 (release of v0.2.6).
New CDS API and more
This is a lone overdue release as new features and typos/bus have been corrected. This new release now supports the new CDS API for ERA5 data download.
WARNING: There may be some compatibility issues with workflows based on previous release.
- New tool to fetch Copernicus DEM [19abe84] with paralleisation [1d834bd]
- improvement of path directory code [72dcd3e]
- debug of masking [3713f83]
- function to export to FSM2oshd [1ed7b6d]
- correction of a bug when elevation was lower than the lower pressure level [e133c6e]
- adding compatibility with IFS data [134f7ce] and script to feth IFS data [69c9845]
- implementation of an export function to FSM2 model [749a0e3]
- improvements in the routine for forecast [cd75c5a]
- added rioxarray to requirements [de8ae0c]
- added export function for SURFEX model [f5ad251]
- added explicit
get_era5()function in workflow [7b35bcd] - fixed typos and bug in
topo_sim.py[327fe4f] et al. - added dask chuncking to stop memory leaks [fd2adc4]
- output format of the ERA5 data is now dynamic and not hard coded to netcdf [3cb0b49]. now support for
- update of new variable keywords of CDS-beta [ef13238]
- replaced
raise warning ...by simple prints as it led to crash [f8da401] - new feature to download ERA5 from zarr repositories [3eb160d]
- added possibilities to downscale at other timestep than 1h only [d77d988]
addressing multiple typos
This release includes a working version for exporting to FSM2ohd, and a number of other correction in the code. These are minor typos that led to inconsistencies.
FSM2oshd support & Arbitray domain mask
New release bringing latest development of new features into TopoPyScale:
- Support to export to FSM2oshd format 3fe1e1a
- added support for masking out domain or split domain in independent regions 81298bf
- added support for custom
outputsdirectory 951451e - rename files containign FSM simulation routines to
sim_fsm.py - added support for C-implementation of solar position in pvlib library 074710a
point_idcan be anything from int, float to string 1a32a5d
and a number of minor bug fixes
v0.2.3 JOSS release.
This new version of the package is justified by the release of the JOSS publication following the review process. In the meantime a number of features have been added.
- support for SLURM server type
- realtime processing, downloading latest ERA5 data. For operational setup c0fb49f
- git commit hash and package version added to netcdf file metadata. This ensure to know which version of TopoPyScale was used to create data.
- climate input can now be located outside of the project directory. This prevent to copy multiple times the same data. 77fd990
- Outputs directory can be named independently of default
- export FSM as netcdf
- streamlined the
environment.ymlfile 5af8c8d - fix Dask indexing: 4b00cd6
- option to give specifc name to cluster points and not depend on the default
point_id7695450 - function to export griddedata 420f80a
- update
xarrayfunctions that were deprecated 3662908 - possibility to run FSM in parallel mode 91c8528
- added snow routine for steep slope 4d31fd1
Update to Python 3.9 and latest `xarray`
This release includes:
- upgrade to Python 3.9 and Xarray 2.3
- no more problem of memory byt using
open_mfdataset - new testing script with github action
- added units to default downscaled dataset
- n_core option is less restrictive now.
- solved a number of path issues
- a number of improvements of the FSM simulation
topo_sim.pyroutines - corrected projection issues when interpolating the climate dataset
to_cryogrid()now compatible with Cryogrid.jl- added an
environment.ymlfile for version controlled install of VE - plotting function
map_variable()has been generalized - and a number of bugs have been caught along the way.