Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ available:
* scipy
* matplotlib
* netCDF4
* xarray >= 0.9.1
* xarray >= 0.10.0
* dask
* bottleneck
* basemap
Expand Down
2 changes: 1 addition & 1 deletion configs/anvil/job_script.anvil.bash
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ cd $PBS_O_WORKDIR

# needed to prevent interference with acme-unified
unset LD_LIBRARY_PATH
soft add +acme-unified-1.1.1-nox
soft add +e3sm-unified-1.1.2-nox

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
3 changes: 1 addition & 2 deletions configs/cori/job_script.cori-haswell.bash
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ export OMP_NUM_THREADS=1

module unload python python/base
module use /global/project/projectdirs/acme/software/modulefiles/all
module load python/anaconda-2.7-acme
export PATH=/global/homes/z/zender/bin_cori:${PATH}
module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
3 changes: 1 addition & 2 deletions configs/cori/job_script.cori-knl.bash
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ export OMP_NUM_THREADS=1

module unload python python/base
module use /global/project/projectdirs/acme/software/modulefiles/all
module load python/anaconda-2.7-acme
export PATH=/global/homes/z/zender/bin_cori:${PATH}
module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
2 changes: 1 addition & 1 deletion configs/edison/job_script.edison.bash
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export OMP_NUM_THREADS=1

module unload python python/base
module use /global/project/projectdirs/acme/software/modulefiles/all
module load python/anaconda-2.7-acme
module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
2 changes: 1 addition & 1 deletion configs/lanl/job_script.lanl.bash
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export OMP_NUM_THREADS=1

module unload python
module use /usr/projects/climate/SHARED_CLIMATE/modulefiles/all/
module load python/anaconda-2.7-climate
module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
4 changes: 2 additions & 2 deletions configs/olcf/job_script.olcf.bash
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
cd $PBS_O_WORKDIR

module unload python
module use /ccs/proj/cli115/pwolfram/modulefiles/all
module load python/anaconda-2.7-climate
module use /ccs/proj/cli127/software/modulefiles/all
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xylar: what is cli127? I don't have access to it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, it's the only group I have access to. Maybe our alcc project?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have access to cli115. Is that the E3SM group on olcf?

Copy link
Collaborator

@milenaveneziani milenaveneziani Jan 10, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, it's the main e3sm project at OLCF. You should have access to it. Could you ask for it? it should be fairly quick: usual form and Mark Taylor is the PI.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, so I'll move this to cli115 as soon as I have permission.

module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
2 changes: 1 addition & 1 deletion configs/theta/job_script.theta.bash
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export OMP_NUM_THREADS=1

module unload python
module use /projects/OceanClimate/modulefiles/all
module load python/anaconda-2.7-acme
module load e3sm-unified/1.1.2

# MPAS/ACME job to be analyzed, including paths to simulation data and
# observations. Change this name and path as needed
Expand Down
26 changes: 24 additions & 2 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,18 @@ Ocean tasks
IndexNino34
MeridionalHeatTransport
StreamfunctionMOC
TimeSeriesOHC
TimeSeriesOHCAnomaly
TimeSeriesTemperatureAnomaly
TimeSeriesSalinityAnomaly
TimeSeriesSST

.. currentmodule:: mpas_analysis.ocean.compute_anomaly_subtask

.. autosummary::
:toctree: generated/

ComputeAnomalySubtask

.. currentmodule:: mpas_analysis.ocean.plot_climatology_map_subtask

.. autosummary::
Expand All @@ -66,6 +75,20 @@ Ocean tasks
PlotClimatologyMapSubtask
PlotClimatologyMapSubtask.set_plot_info

.. currentmodule:: mpas_analysis.ocean.plot_depth_integrated_time_series_subtask

.. autosummary::
:toctree: generated/

PlotDepthIntegratedTimeSeriesSubtask

.. currentmodule:: mpas_analysis.ocean.plot_hovmoller_subtask

.. autosummary::
:toctree: generated/

PlotHovmollerSubtask


Sea ice tasks
-------------
Expand Down Expand Up @@ -235,7 +258,6 @@ Plotting
plotting.plot_1D
plotting.plot_vertical_section
plotting.setup_colormap
plotting.plot_size_y_axis
plotting.plot_xtick_format


Expand Down
127 changes: 66 additions & 61 deletions mpas_analysis/config.default
Original file line number Diff line number Diff line change
Expand Up @@ -295,83 +295,91 @@ baseDirectory = /dir/to/seaice/reference
# directory where ocean reference simulation results are stored
baseDirectory = /dir/to/seaice/reference

[timeSeriesOHC]
[timeSeriesOHCAnomaly]
## options related to plotting time series of ocean heat content (OHC)
## anomalies from year 1

# plot S, T, and OHC fields themselves, in addition to their anomalies?
plotOriginalFields = False
# compare to observations?
compareWithObservations = False
Copy link
Collaborator

@milenaveneziani milenaveneziani Jan 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see this has been removed: we were probably no longer using compareWithObservations anyway. At some point, though, we will want to process the OHC observations for transient/historical runs. This will only make sense for those runs, so we will need some sort of flag to turn on/off the comparison with obs.

# list of region indices to plot from the region list in [regions] below
regionIndicesToPlot = [6]
# Number of points over which to compute moving average for time series (e.g.,
#for monthly output, movingAveragePoints=12 corresponds to a 12-month moving
# average window)
movingAveragePointsTimeSeries = 12
# Number of points over which to compute moving average for Hovmoller plots
movingAveragePointsHovmoller = 12

# colormap for OHC
colormapNameOHC = RdYlBu_r
# colormap indices for contour color
colormapIndicesOHC = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colorbar levels/values for contour boundaries
colorbarLevelsOHC = [0, 5, 10, 15, 20, 25, 30, 35, 40]
# contour line levels
contourLevelsOHC = np.arange(0, 41, 4)
# list of regions to plot from the region list in [regions] below
regions = ['global']

# colormap for OHC anomaly
colormapNameOHCAnomaly = RdBu_r
# approximate depths (m) separating plots of the upper, middle and lower ocean
depths = [700, 2000]

# preprocessed file prefix, with format OHC.<preprocessedRunName>.year*.nc
preprocessedFilePrefix = OHC

# prefix on preprocessed field name, with format ohc_<suffix> for suffixes
# 'tot', '700m', '2000m', 'btm'
preprocessedFieldPrefix = ohc

# Number of points over which to compute moving average(e.g., for monthly
# output, movingAveragePoints=12 corresponds to a 12-month moving average
# window)
movingAveragePoints = 12

[hovmollerOHCAnomaly]
## options related to time vs. depth Hovmoller plots of ocean heat content
## (OHC) anomalies from year 1

# Note: regions and moving average points are the same as for the time series
# plot

# colormap
colormapName = RdBu_r
# colormap indices for contour color
colormapIndicesOHCAnomaly = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
colormapIndices = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colorbar levels/values for contour boundaries
colorbarLevelsOHCAnomaly = [-2.4, -0.8, -0.4, -0.2, 0, 0.2, 0.4, 0.8, 2.4]
colorbarLevels = [-2.4, -0.8, -0.4, -0.2, 0, 0.2, 0.4, 0.8, 2.4]
# contour line levels
contourLevelsOHCAnomaly = np.arange(-2.5, 2.6, 0.5)
contourLevels = np.arange(-2.5, 2.6, 0.5)

# colormap for temperature
colormapNameTemperature = RdYlBu_r
# color indices into colormapName for filled contours
colormapIndicesTemperature = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
colorbarLevelsTemperature = [0, 0.6, 1.2, 2, 4, 6, 8, 10, 20]
# contour line levels
contourLevelsTemperature = np.arange(1, 21, 2)
[hovmollerTemperatureAnomaly]
## options related to plotting time series of temperature vs. depth

# colormap for temperature anomaly
colormapNameTemperatureAnomaly = RdBu_r
# color indices into colormapName for filled contours
colormapIndicesTemperatureAnomaly = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
colorbarLevelsTemperatureAnomaly = [-1, -0.5, -0.2, -0.05, 0, 0.05, 0.2, 0.5, 1]
# contour line levels
contourLevelsTemperatureAnomaly = np.arange(-1.0, 1.26, 0.25)
# list of regions to plot from the region list in [regions] below
regions = ['global']

# Number of points over which to compute moving average(e.g., for monthly
# output, movingAveragePoints=12 corresponds to a 12-month moving average
# window)
movingAveragePoints = 12

# colormap for salinity
colormapNameSalinity = RdYlBu_r
# colormap
colormapName = RdBu_r
# color indices into colormapName for filled contours
colormapIndicesSalinity = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
colormapIndices = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
colorbarLevelsSalinity = [34.5, 34.6, 34.65, 34.7, 34.72, 34.74, 34.76, 34.78, 34.8]
colorbarLevels = [-1, -0.5, -0.2, -0.05, 0, 0.05, 0.2, 0.5, 1]
# contour line levels
contourLevelsSalinity = np.arange(34.51, 34.82, 0.02)
contourLevels = np.arange(-1.0, 1.26, 0.25)

[hovmollerSalinityAnomaly]
## options related to plotting time series of salinity vs. depth

# list of regions to plot from the region list in [regions] below
regions = ['global']

# Number of points over which to compute moving average(e.g., for monthly
# output, movingAveragePoints=12 corresponds to a 12-month moving average
# window)
movingAveragePoints = 12

# colormap for salinity anomaly
colormapNameSalinityAnomaly = RdBu_r
# colormap
colormapName = RdBu_r
# color indices into colormapName for filled contours
colormapIndicesSalinityAnomaly = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
colormapIndices = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255]
# colormap levels/values for contour boundaries
colorbarLevelsSalinityAnomaly = [-0.1, -0.02, -0.003, -0.001, 0, 0.001, 0.003, 0.02, 0.1]
colorbarLevels = [-0.1, -0.02, -0.003, -0.001, 0, 0.001, 0.003, 0.02, 0.1]
# contour line levels
contourLevelsSalinityAnomaly = np.arange(-0.1, 0.11, 0.02)
contourLevels = np.arange(-0.1, 0.11, 0.02)

[timeSeriesSST]
## options related to plotting time series of sea surface temperature (SST)

# compare to observations?
compareWithObservations = True
# list of region indices to plot from the region list in [regions] below
regionIndicesToPlot = [6]
# list of regions to plot from the region list in [regions] below
regions = ['global']
# Number of points over which to compute moving average (e.g., for monthly
# output, movingAveragePoints=12 corresponds to a 12-month moving average
# window)
Expand All @@ -380,10 +388,9 @@ movingAveragePoints = 12
[indexNino34]
## options related to plotting time series of the El Nino 3.4 index

# Specified region for the Nino Index, 5 = Nino34, 3 = Nino3, 4 = Nino4
# The indexNino34 routine only accepts one value at a time,
# regionIndicesToPlot should be an integer
regionIndicesToPlot = 5
# Specified region for the Nino Index,'nino3', 'nino4', or 'nino3.4'
# The indexNino34 routine only accepts one value at a time
region = nino3.4

# Data source to read for comparison. There are three options
# 1 - ERS SSTv4 -- Updated version of previous -- 1854 - 2016
Expand Down Expand Up @@ -486,8 +493,6 @@ movingAveragePointsClimatological = 1

# compare to observations?
compareWithObservations = True
# list of region indices to plot from the region list in [regions] below
regionIndicesToPlot = [6]
# Number of points over which to compute moving average (e.g., for monthly
# output, movingAveragePoints=12 corresponds to a 12-month moving average
# window)
Expand Down
5 changes: 4 additions & 1 deletion mpas_analysis/ocean/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
from .climatology_map_sose import ClimatologyMapSoseTemperature, \
ClimatologyMapSoseSalinity

from .time_series_ohc import TimeSeriesOHC
from .time_series_temperature_anomaly import TimeSeriesTemperatureAnomaly
from .time_series_salinity_anomaly import TimeSeriesSalinityAnomaly
from .time_series_ohc_anomaly import TimeSeriesOHCAnomaly

from .time_series_sst import TimeSeriesSST
from .index_nino34 import IndexNino34
from .streamfunction_moc import StreamfunctionMOC
Expand Down
Loading