gfdlvitals 3.0.7__py3-none-any.whl → 3.0.9__py3-none-any.whl

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/cli.py CHANGED
@@ -123,6 +123,7 @@ def process_year(args, infile):
123
123
  "AeroCMIP",
124
124
  "Ocean",
125
125
  "Ice",
126
+ "IceShelf",
126
127
  "TOPAZ",
127
128
  "COBALT",
128
129
  "BLING",
gfdlvitals/extensions.py CHANGED
@@ -370,7 +370,7 @@ class VitalsDataFrame(pd.DataFrame):
370
370
  padding = np.arange(1, maxlen - len(self.index) + 1) + endyear[0]
371
371
  added_index = [cftime.DatetimeNoLeap(x, *endyear[1:]) for x in padding]
372
372
  _df = pd.DataFrame({"times": added_index}).set_index("times")
373
- _df = self.append(_df)
373
+ _df = pd.concat([self,_df])
374
374
  _df.attrs = self.attrs
375
375
  for column in self.columns:
376
376
  _df[column].attrs = self[column].attrs
gfdlvitals/models/CM4.py CHANGED
@@ -55,13 +55,24 @@ def routines(args, infile):
55
55
  if any(comp in comps for comp in ["ice", "all"]):
56
56
  averagers.ice.xr_average(fyear, tar, modules)
57
57
 
58
+ # -- Ice Shelf
59
+ fname = f"{fyear}.ice_shelf_scalar.nc"
60
+ if any(comp in comps for comp in ["iceshelf", "all"]):
61
+ if tar_member_exists(tar, fname):
62
+ print(fname)
63
+ fdata = nctools.extract_from_tar(tar, fname, ncfile=True)
64
+ extract_ocean_scalar.mom6(
65
+ fdata, fyear, "./", outname="globalAveIceShelf.db"
66
+ )
67
+ fdata.close()
68
+
58
69
  # -- Ocean
59
70
  fname = f"{fyear}.ocean_scalar_annual.nc"
60
71
  if any(comp in comps for comp in ["ocean", "all"]):
61
72
  if tar_member_exists(tar, fname):
62
73
  print(f"{fyear}.ocean_scalar_annual.nc")
63
74
  fdata = nctools.extract_from_tar(tar, fname, ncfile=True)
64
- extract_ocean_scalar.mom6(fdata, fyear, "./")
75
+ extract_ocean_scalar.mom6(fdata, fyear, "./", outname="globalAveOcean.db")
65
76
  fdata.close()
66
77
 
67
78
  # -- OBGC
@@ -1,11 +1,12 @@
1
1
  """ Extract scalar fields from ocean model output """
2
2
 
3
+ import numpy as np
3
4
  from . import gmeantools
4
5
 
5
6
  __all__ = ["mom6"]
6
7
 
7
8
 
8
- def mom6(fdata, fyear, outdir):
9
+ def mom6(fdata, fyear, outdir, outname="globalAveOcean.db"):
9
10
  """Extract MOM6 scalar output and save to sqlite
10
11
 
11
12
  Parameters
@@ -27,8 +28,30 @@ def mom6(fdata, fyear, outdir):
27
28
  if len(fdata.variables[varname].shape) == 2:
28
29
  units = gmeantools.extract_metadata(fdata, varname, "units")
29
30
  long_name = gmeantools.extract_metadata(fdata, varname, "long_name")
30
- result = fdata.variables[varname][0, 0]
31
- sqlfile = outdir + "/" + fyear + ".globalAveOcean.db"
31
+ result = fdata.variables[varname]
32
+ if result.shape[0] == 12:
33
+ result = result[:, 0]
34
+ result = np.ma.average(
35
+ result,
36
+ weights=[
37
+ 31.0,
38
+ 28.0,
39
+ 31.0,
40
+ 30.0,
41
+ 31.0,
42
+ 30.0,
43
+ 31.0,
44
+ 31.0,
45
+ 30.0,
46
+ 31.0,
47
+ 30.0,
48
+ 31.0,
49
+ ],
50
+ axis=0,
51
+ )
52
+ elif result.shape[0] == 1:
53
+ result = result[0, 0]
54
+ sqlfile = f"{outdir}/{fyear}.{outname}"
32
55
  gmeantools.write_metadata(sqlfile, varname, "units", units)
33
56
  gmeantools.write_metadata(sqlfile, varname, "long_name", long_name)
34
57
  gmeantools.write_sqlite_data(sqlfile, varname, fyear[:4], result)
gfdlvitals/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """momlevel: version information"""
2
2
 
3
- __version__ = "3.0.7"
3
+ __version__ = "3.0.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gfdlvitals
3
- Version: 3.0.7
3
+ Version: 3.0.9
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
@@ -1,10 +1,10 @@
1
1
  docs/source/conf.py,sha256=KWXm19n5XaW1kMIw64FNCuTqAnKDsjkeyQ6MHPQmP9s,2337
2
2
  gfdlvitals/__init__.py,sha256=TS9rlf4WiV2SnMdH-J99noYxJtZGtsU2IsUs17iSxaI,377
3
- gfdlvitals/cli.py,sha256=rpsi6yw_k1mGzorvlfHbf_C9CXsU3zJuNxGOur3vLdY,5132
4
- gfdlvitals/extensions.py,sha256=BWAeYLz7xBlzMo6NZ3k5jAJQnInG2nrEa96TjybxU4E,18593
3
+ gfdlvitals/cli.py,sha256=AKt1hWlhuuSkK8hgpts7OTAxY2B_ZrEH5BuL_CWnbC4,5156
4
+ gfdlvitals/extensions.py,sha256=1HbVBSO1XRypbzHAcmmJxyfyLA7UmGl3m5TdgWlZV2w,18598
5
5
  gfdlvitals/plot.py,sha256=X5zB5ChxhuBs6OANMdU-9WH_ZUbGEnaNCWXrhllYpT0,12539
6
6
  gfdlvitals/sample.py,sha256=wvjmx--IbvKKT0AIucw5GE1DCYcVQPtAr7VGY4rMUaA,225
7
- gfdlvitals/version.py,sha256=hgnJV5n_t4UJXHp90bf6R9DZxQ5uG7LQcSkeGPCwt_0,59
7
+ gfdlvitals/version.py,sha256=d9tZGukCPNrxCp5IHYV1vljyMB3lf59YuH03fD9AE1k,59
8
8
  gfdlvitals/averagers/__init__.py,sha256=q9VRiraniy0-HwrwOZNw7wmGZEgQxYuSeOvpPMz0dYI,248
9
9
  gfdlvitals/averagers/cubesphere.py,sha256=vxdEr14pwP3kr9NLMRYu6_WiHi-sR3LGy9A72ouIEr0,2170
10
10
  gfdlvitals/averagers/ice.py,sha256=s3Ou1vNkgXa9pNpeoX-HPWoQ40Vut-fDudQQSwDYYek,5622
@@ -16,7 +16,7 @@ gfdlvitals/diags/__init__.py,sha256=1w_CSncdjJRC6ingsqfAI6EPy0KgK2J2NCTD_ifYpj8,
16
16
  gfdlvitals/diags/amoc.py,sha256=bDyKfLe0MkNp2nyfyG-yABma1vw5EbWqExN2WfFDXwE,3219
17
17
  gfdlvitals/diags/fms.py,sha256=UDUAxihg9kZGRwxYaSOslLPrhYgNBrtBwJJFSUsLFFg,2568
18
18
  gfdlvitals/diags/m6toolbox.py,sha256=U6Aau5b0QWVvFEblbt4r_9RK9oj23gaXiPwLOtf4gSM,15854
19
- gfdlvitals/models/CM4.py,sha256=wUhDUQujm2BWarPTNw5-JktqjoX-FRT_FD8V-i0T6R0,2888
19
+ gfdlvitals/models/CM4.py,sha256=0pkgZVv4yoJUjPXZkcY_T1VjJKjSdIeND9u6vpvZQ4s,3322
20
20
  gfdlvitals/models/ESM2.py,sha256=TpMGHMmHY_6cuFQziDVdLtdejgSxGU0Uyybp0-1YIy0,2054
21
21
  gfdlvitals/models/__init__.py,sha256=0A7Sf8iA5xpy_hSLTtmS9Nw8SULj62uaOerUG2y90qk,91
22
22
  gfdlvitals/resources/LM3_variable_dictionary.pkl,sha256=y8vYQWGAvAaEhDNSAJexGSI5tBLpp1MyF8ro3cI3wK0,15915
@@ -44,20 +44,20 @@ gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf,sha2
44
44
  gfdlvitals/resources/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf,sha256=8Fq2wereREu_Tj4AcQdW6VwqHQmhBCWWcUmAIhnAwMs,169848
45
45
  gfdlvitals/util/__init__.py,sha256=e_EzzVZZu5Gu2w8rVBZqfYi38cQlUyEh11HSzeeYGPw,324
46
46
  gfdlvitals/util/average.py,sha256=-f3-nHx8PaLu535VQHN0wX5NUDXBWD1WmKiqO8UShqM,12107
47
- gfdlvitals/util/extract_ocean_scalar.py,sha256=HKA-219VmMrvFv9zNPqCB9ZuQr51HYa6w_s9PWkpYwk,1152
47
+ gfdlvitals/util/extract_ocean_scalar.py,sha256=ouvqQuUD1VaG3M2olkml8MUCu0rwQIkqGHWIEX_H97U,1860
48
48
  gfdlvitals/util/git.py,sha256=tt9qNHEDMLW2SuzHtr0P5_iuoKAj_3g-GKEEMfkoNJc,1596
49
49
  gfdlvitals/util/gmeantools.py,sha256=dy-ZeQPv7V5TBWm6EKZtZvrEjtAQJOax3B_gm8vdxcE,12543
50
50
  gfdlvitals/util/merge.py,sha256=pzihnvME1ym2MCyc2BeeQq7Jk10GECSoFBcvTubTY-g,1120
51
51
  gfdlvitals/util/netcdf.py,sha256=CYmP8HQ4iwTvC3HltjF_6_C2FrEEGocWoSiCfHWETQA,2217
52
52
  gfdlvitals/util/xrtools.py,sha256=Dck9YId_aQxGdfOJ54NVpZWPjfyTeWvdiljYz5NmOgc,2708
53
- gfdlvitals-3.0.7.data/scripts/db2nc,sha256=htD-aVKLHGeszfvx_3gH1iYs2bXyCIRRZ_BZYvAjxyQ,5793
54
- gfdlvitals-3.0.7.data/scripts/gfdlvitals,sha256=z7jnQIebmlz6eo0qv0X2UWgVU9TAERJ9a38YIbucVjA,172
55
- gfdlvitals-3.0.7.data/scripts/plotdb,sha256=m_QS96umb3aFIfr1fdfDa81pT8RP-AJ9LhP9Bbr4LQs,1632
53
+ gfdlvitals-3.0.9.data/scripts/db2nc,sha256=htD-aVKLHGeszfvx_3gH1iYs2bXyCIRRZ_BZYvAjxyQ,5793
54
+ gfdlvitals-3.0.9.data/scripts/gfdlvitals,sha256=z7jnQIebmlz6eo0qv0X2UWgVU9TAERJ9a38YIbucVjA,172
55
+ gfdlvitals-3.0.9.data/scripts/plotdb,sha256=m_QS96umb3aFIfr1fdfDa81pT8RP-AJ9LhP9Bbr4LQs,1632
56
56
  scripts/db2nc,sha256=_KqHUowYB8Ff1td6Cb0isWtwlNbnJrMUNri9Ge8kd1E,5807
57
57
  scripts/gfdlvitals,sha256=k5RYzFXWN_2Ckr2mdRbJ-IyMdCQAxuE3RBkGpIXvp3U,186
58
58
  scripts/plotdb,sha256=Rf79UOCwGy9f5HxtgSeiYUiiotS2Bqh-Unr0G4yykyg,1645
59
- gfdlvitals-3.0.7.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- gfdlvitals-3.0.7.dist-info/METADATA,sha256=zMdAbmF8NacIl5qON7fwbd-oXlmXHezIJKFBPZgB_5s,1292
61
- gfdlvitals-3.0.7.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
62
- gfdlvitals-3.0.7.dist-info/top_level.txt,sha256=_nlHTn5dcU38mu0h1NZouDSBQouNvihfTSmua76bwLs,24
63
- gfdlvitals-3.0.7.dist-info/RECORD,,
59
+ gfdlvitals-3.0.9.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ gfdlvitals-3.0.9.dist-info/METADATA,sha256=0xuGfsGPd1bIpAiQA-lP7HKL0-VYZERLDyRVQNWyuho,1292
61
+ gfdlvitals-3.0.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
62
+ gfdlvitals-3.0.9.dist-info/top_level.txt,sha256=_nlHTn5dcU38mu0h1NZouDSBQouNvihfTSmua76bwLs,24
63
+ gfdlvitals-3.0.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5