ncar / mom6-tools Goto Github PK
View Code? Open in Web Editor NEWTools to support analysis of CESM/MOM6 model solutions (mom6-tools)
Home Page: https://mom6-tools.readthedocs.io/
License: Apache License 2.0
Tools to support analysis of CESM/MOM6 model solutions (mom6-tools)
Home Page: https://mom6-tools.readthedocs.io/
License: Apache License 2.0
mom6-tools relies on python scripts from CIME to get basic info from a simulation (casename, path to the output, etc). This makes mom6-tools vulnerable to changes in CIME; i.e., recent changes in cesm2_3_beta10 break mom6-tools. @klindsay28 has scripts that give the same info without relying on CIME. I propose we follow a similar approach in mom6-tools.
Right now ClimoGenerator
only works if HIST_FILE_PREFIX
can be found in diag_table. It would be useful if this tool also works with files that are not in diag_table (e.g., .cice.h.).
Currently stage_dset expects a list of fields to determine which files to read. There should be an alternative method that returns a dataset will all available fields from a given HIST_FILE_PREFIX.
Just putting this here so I remember to send a PR:
def preprocess_mom6_sections(ds):
"""
Preprocess function for reading MOM6 field section output.
Gets rid of dummy dimensions ("xh_sub01") and renames them to
standard names ("xh")
Intended use is the ``preprocess`` kwarg of xarray's ``open_mfdataset``.
"""
# "standard" dimension names
dims = ["xh", "xq", "yh", "yq"]
for dim in dims:
matches = [dsdim for dsdim in ds.dims if dim in dsdim]
if not matches:
continue
if len(matches) > 1:
[
np.testing.assert_equal(
ds.coords[matches[0]].values, ds.coords[other].values
)
for other in matches[1:]
]
ds = ds.rename({matches[0]: dim})
for match in matches[1:]:
ds = ds.drop_vars(match).rename({match: dim})
return ds
I noticed that the documentation builds on RTD have been failing for the last few months due to the Command killed due to excessive memory consumption
error. This is due to the fact that conda
consumes a lot of memory, and Readthedocs sets a limit to how much memory can be use. One can request memory increase
for a project by contacting the RTD (Readthedocs) via https://github.com/readthedocs/readthedocs.org/issues
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.