- Lower min. typer version further to 0.4 to accommodate rstcheck (requires <0.5, not <=0.5)
- Fix editable installs for extension modules (broken in template when stripping down setup.py)
- Switch copier template to new
atmcirc/python-blueprint-f2py
based onmch-python-blueprint
- Adds docs and setups for github actions and jenkins
- Reduce min. typer version to 0.5 (otherwise incompatible with rstcheck)
- Merge
dev-requirements.yml
intorequirements.yml
and eliminaterequirements/dev*.yml
- In
atmcirclib.regular_grid.RegularGridPlot
, implement optional rasterization of topography - Major copier update: Move toward the MCH Blueprint (not quite finished)
- Add module
atmcirclib.plot_utils
with functions to manipulate colormaps (moved fromcosmo_natl.crclim_domains
). - Add module
atmcirclib.regular_grid
with classesRegularGrid
,RegularGridPlotter
andRegularGridPlot
(originally moved fromcosmo_natl.crclim_domains
)- Purpose: Create plot with multiple grid outlines on top of the model topography
- Run copier updates
- Replaces
{,dev}-requirements.in
by~.yml
- Moves requirements and environments files into
requirements/
- Replaces
- Update
gt4py
version tov2022-09-29
- Fixes installation problem with
xxhash
(calledpython-xxhash
inconda-forge
)
- Fixes installation problem with
- Add module
atmcirclib.typer
with decoratortyper_wrap_pdb
(analogue toatmcirclib.click.click_wrap_pdb
) and some additional conveniences - Add subpackage
atmcirclib.fortran
with Fortran namelist parser withparse_namelist
andparse_namelist_file
- Add module
atmcirclib.icon
with various utilities- Find path to full namelist by parsing master namelist file in ICON run directory with
find_namelist_path
- Insert ICON namelist params in format string templates with
format_icon_params
- Convert time steps from ICON format to regular datetime objects with
convert_icon_time_step
andconvert_icon_time
- Disaggregate total precip with
disaggr_tot_precip
and derive precipitation intensity units withderiv_precip_intensity_units
- Find path to full namelist by parsing master namelist file in ICON run directory with
- Add module
atmcirclib.math
with functionstep_ceil
with tests - Fix
tools/create_envs.sh
(${UPDATE}
implemented wrong)- Merged back into copier template
meta-python-project
- Merged back into copier template
- Run copier update (template
python-project
)tools/create_envs.sh
: Fixed${UPDATE}
bug; don't update by defaulttools/install_editable.sh
: Refactored; build extension modules by default; don't install linked by default
- Add callback function
click_set_pdb_raise
toatmcirclib.click
- Add decorator function
click_add_option_pdb
toatmcirclib.click
to add--pdb
option with one line - Add decorator function
click_wrap_pdb
to wrap click command function inwrap_pdb
with option to callclick_add_option_pdb
internally, making the addition of--pdb
a (potential) one-liner - Update conda environments
- Update to copier template
- Hook project back up to copier template python-project-f2py and run copier update
- Write simulation scanner to find simulation run directories
- Improve simulations code while working on simulations library in
cosmo-nawdex
repo - Add module
plot.rgb
fromcosmo-nawdex
and adapt it
- Improve functions used to drop into pdb in case of exception in
click
module, incl. docstrings - Add module
simulations
(fromcosmo_nawdex
repo) - Add new requirement
pandas
and update envs - Remove conda build file archive; only retain latest as
recipe/meta.yaml
- Move
atmcirclib.tools.call_graph
andatmcirclib.tools.create_recipe
toatmcirctools v0.2.0
as commandsact call-graph
andact create-recipe
- Remove module
atmcirclib.tools
- Merge
tools/{,run_}update_min_versions.sh
astools/update_min_reqs_versions.sh
and implement handling of comments
- Add additional functions to module
click
(frompyflexplot
viacosmo_nawdex
)- Wrappers to drop into
ipdb
if exception/callback raises an exception
- Wrappers to drop into
- Fix issue with
f2py
include path inCMakeLists.txt
- Write pair of bash scripts (
tools/{,run_}update_min_versions.sh
) to set min. versions inrequirements.in
to minor version of currently installed version - Use
mamba
intox
to create envs - Write script (
tools/call_graph.py
) to plot the call graph of a python module/package (based onpycg
andpygraphviz
)
- Add module
click
- Add module
intp
(from repodpv_th
) with tests - Add explorative
gt4py
tests (from repodpv_th
) - Improve scripts to create recipe (now moved into atmcirclib) and environments
- Switch build from (pure)
setuptools
toscikit-build
- Add Fortran extension modules as
atmcirclib.deriv.ext
(deriv-f
,deriv.f90
)
- Implement
CriteriaFormatter
with string formatting of*Criterion
andCriteria
instances for titles ("human") and file names ("file"), with tests - Rename
TrajDatasetMetadata
toTrajTimeHandler
, extend it with some functionality required incosmo_nawdex.bin.plot_traj_density
and add tests for some crucial methods - Restructure code and test packages
- Implement reading LAGRANTO output (NetCDF) and start files (four columns, no header)
- Implement creation of cosmo grid dataset from traj dataset
- Add model (
TrajModel
) and integration direction (TrajDirection
) toTrajDataset
- Usual cleanup and refactoring along the way
- Add tests for untested
TrajTimeHandler
methods
- Break up monolithic
TrajsDataset
(nowTrajsDataset
) class - Move handling of COSMO grid file to new class
COSMOGridDataset
- Move handling of start points to new class
TrajStartDataset
- Move computation and formatting of times, durations etc. to new class
TrajDatasetMetadata
- Implement selection criteria as classes derived from
Criteria
- Write basic tests for
TrajDataset
based on trajs derived from a real output file - Write extensive tests for
TrajDataset.count
based on idealized trajs, which also test the criteria and by extension traj selection - Write tests for
COSMOGridDataset
based on idealized grid data modeled after a COSMO output file
- Implement reading trajs from text file (offline lagranto output)
- Simplify criteria interface with string-based shorthand arguments better suited for interactive sessions
- Write tests for additional functionality like trajs selection/removal
- Put some thought into
TrajDatasetMetadata
and write some tests
- Set up project for installation with pip or conda
- Copy module
atmcirclib.traj
from projectcosmo-nawdex
containing classesTrajsDataset
andBoundingBox