gfdlvitals 3.0.10__tar.gz → 3.0.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gfdlvitals-3.0.10/gfdlvitals.egg-info → gfdlvitals-3.0.12}/PKG-INFO +3 -2
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/cubesphere.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/ice.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/land_lm4.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/latlon.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/tripolar.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/models/CM4.py +45 -17
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/version.py +1 -1
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12/gfdlvitals.egg-info}/PKG-INFO +3 -2
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/LICENSE +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/README.md +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/docs/source/conf.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/__init__.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/__init__.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/averagers/land_lm3.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/cli.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/diags/__init__.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/diags/amoc.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/diags/fms.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/diags/m6toolbox.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/extensions.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/models/ESM2.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/models/__init__.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/plot.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/LM3_variable_dictionary.pkl +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/LICENSE.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Black.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Bold.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Italic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Light.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Medium.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Regular.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Thin.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/LICENSE.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-Italic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-Light.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/historical.db +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/picontrol.db +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/sample.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/__init__.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/average.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/extract_ocean_scalar.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/git.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/gmeantools.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/merge.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/netcdf.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/util/xrtools.py +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals.egg-info/SOURCES.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals.egg-info/dependency_links.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals.egg-info/not-zip-safe +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals.egg-info/requires.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals.egg-info/top_level.txt +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/scripts/db2nc +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/scripts/gfdlvitals +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/scripts/plotdb +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/setup.cfg +0 -0
- {gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: gfdlvitals
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.12
|
|
4
4
|
Summary: Tools for calculating scalar diagnostics from GFDL models
|
|
5
5
|
Home-page: https://github.com/jkrasting/gfdlvitals
|
|
6
6
|
Author: John Krasting
|
|
@@ -26,6 +26,7 @@ Requires-Dist: matplotlib
|
|
|
26
26
|
Requires-Dist: xarray
|
|
27
27
|
Requires-Dist: cftime
|
|
28
28
|
Requires-Dist: nc-time-axis
|
|
29
|
+
Dynamic: license-file
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
**gfdlvitals** is a Python package in the public domain
|
|
@@ -63,7 +63,7 @@ def xr_average(fyear, tar, modules):
|
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
t_bounds = dset.time_bnds
|
|
66
|
-
dt = t_bounds
|
|
66
|
+
dt = t_bounds.isel(nv=1) - t_bounds.isel(nv=0)
|
|
67
67
|
weights = dt.astype("float") * _masked_area
|
|
68
68
|
_dset_weighted = xrtools.xr_weighted_avg(dset, weights)
|
|
69
69
|
xrtools.xr_to_db(
|
|
@@ -137,7 +137,7 @@ def xr_average(fyear, tar, modules):
|
|
|
137
137
|
_dset_min = _dset_min.rename(newvars)
|
|
138
138
|
|
|
139
139
|
t_bounds = dset.time_bnds
|
|
140
|
-
dt = t_bounds
|
|
140
|
+
dt = t_bounds.isel(nv=1) - t_bounds.isel(nv=0)
|
|
141
141
|
weights = dt.astype("float")
|
|
142
142
|
|
|
143
143
|
_dset_weighted = xrtools.xr_weighted_avg(_dset, weights)
|
|
@@ -112,7 +112,7 @@ def xr_average(fyear, tar, modules):
|
|
|
112
112
|
# _masked_area = _masked_area.fillna(0)
|
|
113
113
|
|
|
114
114
|
t_bounds = dset.time_bnds
|
|
115
|
-
dt = t_bounds
|
|
115
|
+
dt = t_bounds.isel(nv=1) - t_bounds.isel(nv=0)
|
|
116
116
|
weights = dt.astype("float") * _masked_area
|
|
117
117
|
if _measure == "soil_area":
|
|
118
118
|
area_x_depth = _masked_area * depth
|
|
@@ -58,7 +58,7 @@ def xr_average(fyear, tar, modules):
|
|
|
58
58
|
)
|
|
59
59
|
|
|
60
60
|
t_bounds = dset.time_bnds
|
|
61
|
-
dt = t_bounds
|
|
61
|
+
dt = t_bounds.isel(nv=1) - t_bounds.isel(nv=0)
|
|
62
62
|
weights = dt.astype("float") * _masked_area
|
|
63
63
|
_dset_weighted = xrtools.xr_weighted_avg(dset, weights)
|
|
64
64
|
xrtools.xr_to_db(
|
|
@@ -63,7 +63,7 @@ def xr_average(fyear, tar, modules):
|
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
t_bounds = dset.time_bnds
|
|
66
|
-
dt = t_bounds
|
|
66
|
+
dt = t_bounds.isel(nv=1) - t_bounds.isel(nv=0)
|
|
67
67
|
weights = dt.astype("float") * _masked_area
|
|
68
68
|
_dset_weighted = xrtools.xr_weighted_avg(dset, weights)
|
|
69
69
|
xrtools.xr_to_db(
|
|
@@ -43,37 +43,57 @@ def routines(args, infile):
|
|
|
43
43
|
"aerosol_month_cmip": "AeroCMIP",
|
|
44
44
|
}
|
|
45
45
|
if any(comp in comps for comp in ["atmos", "all"]):
|
|
46
|
-
|
|
46
|
+
try:
|
|
47
|
+
averagers.cubesphere.xr_average(fyear, tar, modules)
|
|
48
|
+
except Exception as exc:
|
|
49
|
+
print("\n\n# -----\n# Atmosphere vitals failed\n# -----\n\n")
|
|
50
|
+
print(exc)
|
|
47
51
|
|
|
48
52
|
# -- Land Fields
|
|
49
53
|
modules = {"land_month": "Land"}
|
|
50
54
|
if any(comp in comps for comp in ["land", "all"]):
|
|
51
|
-
|
|
55
|
+
try:
|
|
56
|
+
averagers.land_lm4.xr_average(fyear, tar, modules)
|
|
57
|
+
except Exception as exc:
|
|
58
|
+
print("\n\n# -----\n# Land vitals failed\n# -----\n\n")
|
|
59
|
+
print(exc)
|
|
52
60
|
|
|
53
61
|
# -- Ice
|
|
54
62
|
modules = {"ice_month": "Ice"}
|
|
55
63
|
if any(comp in comps for comp in ["ice", "all"]):
|
|
56
|
-
|
|
64
|
+
try:
|
|
65
|
+
averagers.ice.xr_average(fyear, tar, modules)
|
|
66
|
+
except Exception as exc:
|
|
67
|
+
print("\n\n# -----\n# Ice vitals failed\n# -----\n\n")
|
|
68
|
+
print(exc)
|
|
57
69
|
|
|
58
70
|
# -- Ice Shelf
|
|
59
71
|
fname = f"{fyear}.ice_shelf_scalar.nc"
|
|
60
72
|
if any(comp in comps for comp in ["iceshelf", "all"]):
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
try:
|
|
74
|
+
if tar_member_exists(tar, fname):
|
|
75
|
+
print(fname)
|
|
76
|
+
fdata = nctools.extract_from_tar(tar, fname, ncfile=True)
|
|
77
|
+
extract_ocean_scalar.mom6(
|
|
78
|
+
fdata, fyear, "./", outname="globalAveIceShelf.db"
|
|
79
|
+
)
|
|
80
|
+
fdata.close()
|
|
81
|
+
except Exception as exc:
|
|
82
|
+
print("\n\n# -----\n# Ice shelf vitals failed\n# -----\n\n")
|
|
83
|
+
print(exc)
|
|
68
84
|
|
|
69
85
|
# -- Ocean
|
|
70
86
|
fname = f"{fyear}.ocean_scalar_annual.nc"
|
|
71
87
|
if any(comp in comps for comp in ["ocean", "all"]):
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
88
|
+
try:
|
|
89
|
+
if tar_member_exists(tar, fname):
|
|
90
|
+
print(f"{fyear}.ocean_scalar_annual.nc")
|
|
91
|
+
fdata = nctools.extract_from_tar(tar, fname, ncfile=True)
|
|
92
|
+
extract_ocean_scalar.mom6(fdata, fyear, "./", outname="globalAveOcean.db")
|
|
93
|
+
fdata.close()
|
|
94
|
+
except Exception as exc:
|
|
95
|
+
print("\n\n# -----\n# Ocean vitals failed\n# -----\n\n")
|
|
96
|
+
print(exc)
|
|
77
97
|
|
|
78
98
|
# -- OBGC
|
|
79
99
|
modules = {
|
|
@@ -89,11 +109,19 @@ def routines(args, infile):
|
|
|
89
109
|
"ocean_bling_cmip6_omip_tracers_year_z": "OBGC",
|
|
90
110
|
}
|
|
91
111
|
if any(comp in comps for comp in ["obgc", "all"]):
|
|
92
|
-
|
|
112
|
+
try:
|
|
113
|
+
averagers.tripolar.xr_average(fyear, tar, modules)
|
|
114
|
+
except Exception as exc:
|
|
115
|
+
print("\n\n# -----\n# OBGC vitals failed\n# -----\n\n")
|
|
116
|
+
print(exc)
|
|
93
117
|
|
|
94
118
|
# -- AMOC
|
|
95
119
|
if any(comp in comps for comp in ["amoc", "all"]):
|
|
96
|
-
|
|
120
|
+
try:
|
|
121
|
+
diags.amoc.mom6_amoc(fyear, tar)
|
|
122
|
+
except Exception as exc:
|
|
123
|
+
print("\n\n# -----\n# AMOC vitals failed\n# -----\n\n")
|
|
124
|
+
print(exc)
|
|
97
125
|
|
|
98
126
|
# -- Close out the tarfile handle
|
|
99
127
|
tar.close()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: gfdlvitals
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.12
|
|
4
4
|
Summary: Tools for calculating scalar diagnostics from GFDL models
|
|
5
5
|
Home-page: https://github.com/jkrasting/gfdlvitals
|
|
6
6
|
Author: John Krasting
|
|
@@ -26,6 +26,7 @@ Requires-Dist: matplotlib
|
|
|
26
26
|
Requires-Dist: xarray
|
|
27
27
|
Requires-Dist: cftime
|
|
28
28
|
Requires-Dist: nc-time-axis
|
|
29
|
+
Dynamic: license-file
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
**gfdlvitals** is a Python package in the public domain
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-BlackItalic.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-BoldItalic.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-LightItalic.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-MediumItalic.ttf
RENAMED
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-Regular.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto/Roboto-ThinItalic.ttf
RENAMED
|
File without changes
|
{gfdlvitals-3.0.10 → gfdlvitals-3.0.12}/gfdlvitals/resources/fonts/Roboto_Condensed/LICENSE.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|