1
+ [build-system ]
2
+ requires = [" setuptools>=42" , " wheel" ]
3
+ build-backend = " setuptools.build_meta"
4
+
5
+ [project ]
6
+ name = " e3sm_diags"
7
+ dynamic = [" version" ]
8
+ description = " E3SM Diagnostics"
9
+ authors = [
10
+ {
name =
" Chengzhu (Jill) Zhang" ,
email =
" [email protected] " },
11
+ { name = " Tom Vo" },
12
+ { name = " Ryan Forsyth" },
13
+ { name = " Chris Golaz" },
14
+ { name = " Zeshawn Shaheen" },
15
+ ]
16
+ license = { text = " BSD 3-Clause" }
17
+ readme = " README.md"
18
+ requires-python = " >=3.9"
19
+ classifiers = [
20
+ " Development Status :: 5 - Production/Stable" ,
21
+ " Intended Audience :: Developers" ,
22
+ " License :: OSI Approved :: BSD 3-Clause License" ,
23
+ " Natural Language :: English" ,
24
+ " Programming Language :: Python :: 3" ,
25
+ " Programming Language :: Python :: 3.9" ,
26
+ " Programming Language :: Python :: 3.10" ,
27
+ " Programming Language :: Python :: 3.11" ,
28
+ " Programming Language :: Python :: 3.12" ,
29
+ ]
30
+ dependencies = [
31
+ " beautifulsoup4" ,
32
+ " cartopy >=0.17.0" ,
33
+ # This package is not available on PyPI.
34
+ # "cartopy_offlinedata",
35
+ " cf-units" ,
36
+ " dask" ,
37
+ " esmpy >=8.4.0" ,
38
+ " lxml" ,
39
+ " mache >=0.15.0" ,
40
+ " matplotlib >=3.8.2" ,
41
+ " netcdf4" ,
42
+ " output_viewer >=1.3.0" ,
43
+ " numpy >=2.0.0,<3.0.0" ,
44
+ " shapely >=2.0.0,<3.0.0" ,
45
+ " xarray >=2024.03.0" ,
46
+ " xcdat >=0.7.3,<1.0.0" ,
47
+ " xesmf >=0.8.7" ,
48
+ " xskillscore >=0.0.20" ,
49
+ ]
50
+
51
+ [project .optional-dependencies ]
52
+ test = [" pytest" , " pytest-cov" ]
53
+ docs = [" sphinx" , " sphinx_rtd_theme" , " sphinx-multiversion" ]
54
+ dev = [
55
+ " black" ,
56
+ " flake8" ,
57
+ " flake8-isort" ,
58
+ " isort" ,
59
+ " mypy" ,
60
+ " pre-commit" ,
61
+ " types-PyYAML" ,
62
+ ]
63
+
64
+ [project .urls ]
65
+ Documentation = " https://docs.e3sm.org/e3sm_diags/_build/html/main/index.html"
66
+ "Issue Tracker" = " https://github.com/E3SM-Project/e3sm_diags/issues"
67
+
68
+ [project .scripts ]
69
+ e3sm_diags = " e3sm_diags.e3sm_diags_driver:main"
70
+ e3sm_diags_vars = " e3sm_diags.e3sm_diags_vars:main"
71
+
72
+ [tool .setuptools .packages .find ]
73
+ include = [" e3sm_diags" , " e3sm_diags.*" ]
74
+
75
+ [tool .setuptools .dynamic ]
76
+ version = { attr = " e3sm_diags.__version__" }
77
+
78
+ [tool .setuptools .data-files ]
79
+ "share/e3sm_diags" = [
80
+ " e3sm_diags/driver/acme_ne30_ocean_land_mask.nc" ,
81
+ " misc/e3sm_logo.png" ,
82
+ ]
83
+
84
+ "share/e3sm_diags/viewer" = [" e3sm_diags/viewer/index_template.html" ]
85
+
86
+ "share/e3sm_diags/zonal_mean_xy" = [
87
+ " e3sm_diags/driver/default_diags/zonal_mean_xy*" ,
88
+ " e3sm_diags/driver/default_diags/legacy_diags/zonal_mean_xy*" ,
89
+ ]
90
+ "share/e3sm_diags/zonal_mean_2d" = [
91
+ " e3sm_diags/driver/default_diags/zonal_mean_2d_model*" ,
92
+ " e3sm_diags/driver/default_diags/legacy_diags/zonal_mean_2d*" ,
93
+ ]
94
+ "share/e3sm_diags/zonal_mean_2d_stratosphere" = [
95
+ " e3sm_diags/driver/default_diags/zonal_mean_2d_stratosphere*" ,
96
+ ]
97
+ "share/e3sm_diags/meridional_mean_2d" = [
98
+ " e3sm_diags/driver/default_diags/meridional_mean_2d*" ,
99
+ ]
100
+ "share/e3sm_diags/lat_lon" = [
101
+ " e3sm_diags/driver/default_diags/lat_lon*" ,
102
+ " e3sm_diags/driver/default_diags/legacy_diags/lat_lon*" ,
103
+ ]
104
+ "share/e3sm_diags/polar" = [
105
+ " e3sm_diags/driver/default_diags/polar*" ,
106
+ " e3sm_diags/driver/default_diags/legacy_diags/polar*" ,
107
+ ]
108
+ "share/e3sm_diags/lat_lon_vector" = [
109
+ " e3sm_diags/driver/default_diags/lat_lon_vector*" ,
110
+ ]
111
+ "share/e3sm_diags/lat_lon_land" = [
112
+ " e3sm_diags/driver/default_diags/lat_lon_land*" ,
113
+ ]
114
+ "share/e3sm_diags/lat_lon_river" = [
115
+ " e3sm_diags/driver/default_diags/lat_lon_river*" ,
116
+ ]
117
+ "share/e3sm_diags/cosp_histogram" = [
118
+ " e3sm_diags/driver/default_diags/cosp_histogram*" ,
119
+ " e3sm_diags/driver/default_diags/legacy_diags/cosp_histogram*" ,
120
+ ]
121
+ "share/e3sm_diags/area_mean_time_series" = [
122
+ " e3sm_diags/driver/default_diags/area_mean_time_series*" ,
123
+ ]
124
+ "share/e3sm_diags/enso_diags" = [" e3sm_diags/driver/default_diags/enso_*" ]
125
+ "share/e3sm_diags/qbo" = [" e3sm_diags/driver/default_diags/qbo*" ]
126
+ "share/e3sm_diags/streamflow" = [" e3sm_diags/driver/default_diags/streamflow*" ]
127
+ "share/e3sm_diags/diurnal_cycle" = [
128
+ " e3sm_diags/driver/default_diags/diurnal_cycle_*" ,
129
+ ]
130
+ "share/e3sm_diags/arm_diags" = [" e3sm_diags/driver/default_diags/arm_diags_*" ]
131
+ "share/e3sm_diags/tc_analysis" = [
132
+ " e3sm_diags/driver/default_diags/tc_analysis_*" ,
133
+ ]
134
+ "share/e3sm_diags/annual_cycle_zonal_mean" = [
135
+ " e3sm_diags/driver/default_diags/annual_cycle_zonal_mean_*" ,
136
+ ]
137
+ "share/e3sm_diags/aerosol_aeronet" = [
138
+ " e3sm_diags/driver/default_diags/aerosol_aeronet*cfg" ,
139
+ " e3sm_diags/driver/default_diags/aerosol_aeronet_data/*.txt" ,
140
+ ]
141
+ "share/e3sm_diags/aerosol_budget" = [
142
+ " e3sm_diags/driver/default_diags/aerosol_budget*cfg" ,
143
+ ]
144
+ "share/e3sm_diags/mp_partition" = [
145
+ " e3sm_diags/driver/default_diags/mp_partition*cfg" ,
146
+ ]
147
+ "share/e3sm_diags/tropical_subseasonal" = [
148
+ " e3sm_diags/driver/default_diags/tropical_subseasonal*cfg" ,
149
+ ]
150
+ "share/e3sm_diags/colormaps" = [" e3sm_diags/plot/colormaps/*.rgb" ]
151
+ "share/e3sm_diags/control_runs" = [" e3sm_diags/driver/control_runs/*" ]
152
+
1
153
[tool .black ]
2
154
# Docs: https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html
3
155
line-length = 88
@@ -20,7 +172,7 @@ exclude = '''
20
172
| config
21
173
| conda
22
174
| analysis_data_preprocess
23
- )/
175
+ )/
24
176
'''
25
177
26
178
[tool .isort ]
0 commit comments