Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
e70f40f
Split ocean climaotlogy mpas into more subtasks
xylar Oct 9, 2017
4139e82
Split sea-ice climatology maps into subtasks
xylar Oct 9, 2017
86533ed
Add antarctic comparison grid to ocean clim. maps
xylar Aug 14, 2017
810680f
Add subtask for remapping observations
xylar Dec 6, 2017
d340a78
Rename file for custom config parser
xylar Dec 7, 2017
636f3c5
Update auto-generated docs
xylar Dec 7, 2017
7eb0ae2
Add new units tests for the obs. remap. subtask
xylar Dec 7, 2017
e5f8606
Update unit tests to be consistent with recent changes
xylar Dec 7, 2017
58964f7
Merge PR #282 from xylar/climatology_map_subtasks into develop
xylar Dec 8, 2017
b424ac3
Add ClimatologyMapAntarcticMelt task
xylar Dec 8, 2017
cb5e505
Add Antarctic melt climatology map task to docs.
xylar Dec 8, 2017
92337e3
Explicitly add the time-series tasks (just in case).
xylar Dec 8, 2017
4f298cd
Add example w/ ice shelves on edison; update generate
xylar Dec 8, 2017
d830a25
Get descriptor from data set in climatologyMapMLD
xylar Dec 9, 2017
bae888c
Mask arrays for plotting based on NaNs
xylar Dec 9, 2017
f71ffd0
Plot no more than 300 pluses in OHC plot
xylar Dec 8, 2017
aee4cb5
Merge PR #285 from xylar/add_antarctic_melt_clim_task into develop
xylar Dec 9, 2017
f879876
Merge PR#287 from branch 'xylar/MPAS-Analysis/change_ohc_plot_style' …
milenaveneziani Dec 9, 2017
20d577c
Change to mask directory instead of MOC mask file
xylar Aug 25, 2017
b7adb36
Update example config files with mask directories
xylar Sep 18, 2017
ced7dda
Merge PR #289 from xylar/switch_to_mask_directory into develop
xylar Dec 12, 2017
402c078
Fix decoding of string in python 3 when rerunning time series
xylar Dec 19, 2017
8374b59
Merge PR#290 from branch 'xylar/MPAS-Analysis/fix_time_series_rerun' …
milenaveneziani Dec 21, 2017
36c8c6d
Fix first file for time series
xylar Dec 21, 2017
e85ad9a
Merge PR #291 from xylar/fix_time_series_first_year into develop
xylar Dec 21, 2017
876edb1
Clean up/generalize Nino 34 Index
xylar Dec 29, 2017
827ac46
Make separate task for index time series
xylar Dec 30, 2017
3a76c8d
Switch from warnings.warn to just print
xylar Dec 30, 2017
b87a2e1
Merge PR #293 from xylar/clean_up_index_nino34 to develop
xylar Jan 1, 2018
a84719c
Clarify the printing from the --list flag
xylar Jan 4, 2018
33ef248
Add support for "only_" prefix in generate option
xylar Jan 4, 2018
8781f17
Merge PR #295 from xylar/clarify_list to develop
xylar Jan 4, 2018
3abf05c
Add utility for computing MPAS-Ocean zMid
xylar Sep 2, 2017
6a4f5d9
Add support for plotting at various depth
xylar Dec 10, 2017
aa9da43
Antarctic plots don't have to define ticks
xylar Dec 10, 2017
2adc6c9
Add analysis tasks for plotting SOSE T and S
xylar Dec 10, 2017
a36d913
Add scripts for preprocessing observations
xylar Jun 21, 2017
86b3b35
Add job scripts for running analysis on cori
xylar Dec 10, 2017
10145d7
Add config file for Cori oRRS30to10v3wLI run
xylar Dec 19, 2017
905d359
Merge PR #288 from xylar/add_sose_T_S to develop
xylar Jan 6, 2018
9eca784
Check for missing variables in mpas time series
xylar Jan 6, 2018
56b8c10
Merge PR #296 from xylar/check_missing_time_series_vars into develop
xylar Jan 9, 2018
994a03c
Add task for plotting time series of Antarctic melt
xylar Aug 25, 2017
ddb3922
Add script for preprocessing ice-shelf masks
xylar Aug 25, 2017
93cee94
Update theta config file for ice-shelf run
xylar Aug 25, 2017
f3e9b83
Correct ice shelf area calculation
stephenprice Aug 30, 2017
42fcc49
Read in obs melt flux from Rignot csv file
stephenprice Aug 31, 2017
b34f078
Make obs melt flux dictionary from Rignot csv file
stephenprice Sep 7, 2017
f38959f
Add local obs & model timeseries plot function
stephenprice Sep 8, 2017
734cafa
Add obs. unc. estimate to plots
stephenprice Sep 8, 2017
3a6b460
Add support for plotting observations as error bars
stephenprice Sep 22, 2017
b562693
Minor additions to obs plotting options
stephenprice Sep 28, 2017
a1223b4
Iterate over obs datasets for plotting
stephenprice Oct 24, 2017
9bb3b98
Add descriptive text on obs data to plot legend
stephenprice Oct 25, 2017
4a191cf
Changes to melt time series task for python 3
xylar Dec 11, 2017
95d47eb
Add XML files for melt time-series plots
xylar Dec 19, 2017
a55d4e6
Update example config files
xylar Dec 19, 2017
4e5ac98
Make PEP8 compliant
stephenprice Jan 8, 2018
1171ceb
Add optional obs error bars to time series plots
xylar Jan 9, 2018
adf52d0
Clean up obsDict
xylar Jan 9, 2018
5c28260
Allow plotting of ice shelves without observations
xylar Jan 9, 2018
9ef5ca6
Merge PR #237 from stephenprice/add_antarctic_melt_time_series into d…
xylar Jan 9, 2018
491bc7b
Fix the name of the gallery group for sea-ice thickness
xylar Jan 14, 2018
787533f
Merge pull request #298 from xylar/fix_sea_ice_gallery_group
xylar Jan 16, 2018
0d3b64c
Read MHT lat bins from either of 2 streams
xylar Jan 11, 2018
64ff5c0
Merge PR #297 from xylar/update_mht_task_data_sources into develop
xylar Jan 23, 2018
1b07534
Add support for reading Time in open_mpas_dataset
xylar Jan 2, 2018
b7caceb
Add subset_variables to io module (for convenience)
xylar Jan 2, 2018
93879d3
Add util funs for anomalies and moving avgs
xylar Jan 2, 2018
e1698a4
Switch from regionIndicesToPlot to just region(s)
xylar Jan 3, 2018
bd0a120
Support time series plots without moving averages
xylar Jan 3, 2018
7c1e95f
Break OHC time series into 3 separate tasks
xylar Jan 3, 2018
d507361
Update xarray version in README
xylar Jan 5, 2018
75eb12f
Update documentation
xylar Jan 5, 2018
9c42d4b
Update paths to e3sm-unified/1.1.2
xylar Jan 10, 2018
2b27771
Merge PR #294 from xylar/split_timeseries_anomalies into develop
xylar Jan 25, 2018
2552095
Add -4 flag to force NetCDF4 output format from NCO
xylar Jan 24, 2018
20cd745
Update required NCO version
xylar Jan 24, 2018
11540b1
Merge PR #300 from xylar/nco_force_netcdf4_output into develop
xylar Jan 26, 2018
11ac974
Remove unused variable from example OLCF config
xylar Dec 25, 2017
032f5f1
Add referenceRunConfigFile option to default config
xylar Dec 28, 2017
b42ac63
Remove unused config option from climatology test
xylar Dec 26, 2017
4a5c328
Add ref. climatology tasks
xylar Dec 28, 2017
aa4b89a
Add a task for ref. time series data
xylar Dec 28, 2017
c076d58
Change obs to ref in 3 plot functions
xylar Dec 26, 2017
fa49337
Update ocean PlotClimatologyMapSubtask for ref run
xylar Dec 26, 2017
e60a48d
Update sea ice PlotClimatologyMapSubtask for ref run
xylar Dec 27, 2017
2a0533f
Add support for a reference run to most ocean tasks
xylar Dec 26, 2017
d8ec516
Update sea-ice tasks to support comparing to ref. run
xylar Dec 27, 2017
b82e87d
Update run_mpas_analysis to support reference runs
xylar Dec 28, 2017
6cf0e80
Add ref. run support to TimeSeriesAntarcticMelt
xylar Jan 10, 2018
83d313b
Update documentaiton with new ref. tasks
xylar Jan 10, 2018
df82443
Remove ref. tasks/subtask
xylar Jan 13, 2018
12b0d7a
Save sea-ice time series
xylar Jan 13, 2018
d8012f0
Cache MHT data
xylar Jan 14, 2018
09486f3
Remove unnecessary docstring
xylar Jan 14, 2018
b319839
Add ref. run name to html pages (if using ref)
xylar Jan 16, 2018
e52f530
Add referenceRunConfigFile to example configs
xylar Jan 16, 2018
56cdba7
Fix cori job scripts
xylar Jan 19, 2018
6b227e3
Save depth coordinate with OHC data
xylar Jan 23, 2018
00cb6a6
Check for missing ref config file
xylar Jan 25, 2018
ca9735b
Update list of authors
xylar Jan 26, 2018
ebeb8e7
Update instructions for making the docs
xylar Jan 26, 2018
ec8175e
Update version number
xylar Jan 26, 2018
7c20f8b
Merge pull request #301 from xylar/update_authors
xylar Jan 26, 2018
7193054
Merge PR #292 from xylar/plot_against_ref_run into develop
xylar Jan 26, 2018
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
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ available:
* scipy
* matplotlib
* netCDF4
* xarray >= 0.9.1
* xarray >= 0.10.0
* dask
* bottleneck
* basemap
* lxml
* nco >= 4.6.8
* nco >= 4.7.0
* pyproj
* pillow

Expand Down Expand Up @@ -169,8 +169,7 @@ another machine to fit your needs.

To generate the `sphinx` documentation, run:
```bash
conda install sphinx sphinx_rtd_theme numpydoc
pip install recommonmark
conda install sphinx sphinx_rtd_theme numpydoc recommonmark
cd docs
make html
```
64 changes: 32 additions & 32 deletions configs/anvil/config.20170926.FCT2.A_WCYCL1850S.ne30_oECv3.anvil
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ mainRunName = 20170926.FCT2.A_WCYCL1850S.ne30_oECv3.anvil
# MPAS-Analysis)
preprocessedReferenceRunName = B1850C5_ne30_v0.4

# config file for a reference run to which this run will be compared. The
# analysis should have already been run to completion once with this config
# file, so that the relevant MPAS climatologies already exist and have been
# remapped to the comparison grid. Leave this option commented out if no
# reference run is desired.
# referenceRunConfigFile = /path/to/config/file

[input]
## options related to reading in the results to be analyzed

Expand All @@ -36,37 +43,32 @@ baseDirectory = /dir/to/analysis/output
# to be copied elsewhere (e.g. NERSC web portal)
htmlSubdirectory = html

# a list of analyses to generate. Valid names are:
# 'timeSeriesOHC', 'timeSeriesSST', 'climatologyMapSST',
# 'climatologyMapSSS', 'climatologyMapMLD', 'streamfunctionMOC',
# 'indexNino34', 'meridionalHeatTransport',
# 'timeSeriesSeaIceAreaVol', 'climatologyMapSeaIceConcNH',
# 'climatologyMapSeaIceConcSH', 'climatologyMapSeaIceThickNH',
# 'climatologyMapSeaIceThickSH'
# the following shortcuts exist:
# a list of analyses to generate. Valid names can be seen by running:
# ./run_mpas_analysis --list
# This command also lists tags for each analysis.
# Shortcuts exist to generate (or not generate) several types of analysis.
# These include:
# 'all' -- all analyses will be run
# 'all_timeSeries' -- all time-series analyses will be run
# 'all_climatology' -- all analyses involving climatologies
# 'all_horizontalMap' -- all analyses involving horizontal climatology maps
# 'all_ocean' -- all ocean analyses will be run
# 'all_seaIce' -- all sea-ice analyses will be run
# 'no_timeSeriesOHC' -- skip 'timeSeriesOHC' (and similarly with the
# other analyses).
# 'no_ocean', 'no_timeSeries', etc. -- in analogy to 'all_*', skip the
# given category of analysis
# 'all_<tag>' -- all analysis with a particular tag will be run
# 'all_<component>' -- all analyses from a given component (either 'ocean'
# or 'seaIce') will be run
# 'only_<component>', 'only_<tag>' -- all analysis from this component or
# with this tag will be run, and all
# analysis for other components or
# without the tag will be skipped
# 'no_<task_name>' -- skip the given task
# 'no_<component>', 'no_<tag>' -- in analogy to 'all_*', skip all analysis
# tasks from the given compoonent or with
# the given tag. Do
# ./run_mpas_analysis --list
# to list all task names and their tags
# an equivalent syntax can be used on the command line to override this
# option:
# ./run_mpas_analysis config.analysis --generate \
# all,no_ocean,all_timeSeries
generate = ['all']

# alternative examples that would perform all analysis except
# 'timeSeriesOHC'
#generate = ['all', 'no_timeSeriesOHC']
# Each subsequent list entry can be used to alter previous list entries. For
# example, the following would run all tasks that aren't ocean analyses,
# except that it would also run ocean time series tasks:
#generate = ['all', 'no_ocean', 'all_timeSeries']
# All tasks with tag "landIceCavities" are disabled because this run did not
# include land-ice cavities.
generate = ['all', 'no_landIceCavities']

[climatology]
## options related to producing climatologies, typically to compare against
Expand Down Expand Up @@ -136,10 +138,8 @@ baseDirectory = /lcrc/group/acme/mpas_analysis/ACMEv0_lowres/B1850C5_ne30_v0.4/i
# plot on polar plot
polarPlot = False

[streamfunctionMOC]
## options related to plotting the streamfunction of the meridional overturning
## circulation (MOC)
maxChunkSize = 1000
[regions]
## options related to ocean regions used in several analysis modules

# Mask file for ocean basin regional computation
regionMaskFiles = /lcrc/group/acme/mpas_analysis/region_masks/oEC60to30v3_Atlantic_region_and_southern_transect.nc
# Directory for region mask files
regionMaskDirectory = /global/project/projectdirs/acme/mapping/grids/
4 changes: 2 additions & 2 deletions 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 Expand Up @@ -54,7 +54,7 @@ ncclimoParallelMode = $ncclimo_mode
EOF

# first, perform setup only without mpirun to create the mapping files
$mpas_analysis_dir/run_mpas_analysis --purge --setup_only $run_config_file \
$mpas_analysis_dir/run_mpas_analysis --setup_only $run_config_file \
$job_config_file
# next, do the full run now tht we have mapping files, but this time launching
# with mpirun
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
[runs]
## options related to the run to be analyzed and reference runs to be
## compared against

# mainRunName is a name that identifies the simulation being analyzed.
mainRunName = 20171201.default.GMPAS-IAF.T62_oRRS30to10v3wLI.cori-knl
# preprocessedReferenceRunName is the name of a reference run that has been
# preprocessed to compare against (or None to turn off comparison). Reference
# runs of this type would have preprocessed results because they were not
# performed with MPAS components (so they cannot be easily ingested by
# MPAS-Analysis)
preprocessedReferenceRunName = B1850C5_ne30_v0.4

# config file for a reference run to which this run will be compared. The
# analysis should have already been run to completion once with this config
# file, so that the relevant MPAS climatologies already exist and have been
# remapped to the comparison grid. Leave this option commented out if no
# reference run is desired.
# referenceRunConfigFile = /path/to/config/file

[execute]
## options related to executing parallel tasks

# the number of parallel tasks (1 means tasks run in serial, the default)
parallelTaskCount = 1

# the parallelism mode in ncclimo ("serial" or "bck")
# Set this to "bck" (background parallelism) if running on a machine that can
# handle 12 simultaneous processes, one for each monthly climatology.
ncclimoParallelMode = serial

[input]
## options related to reading in the results to be analyzed

# directory containing model results
baseDirectory = /global/cscratch1/sd/mpeterse/acme_scratch/20171201.default.GMPAS-IAF.T62_oRRS30to10v3wLI.cori-knl/run

# names of ocean and sea ice meshes (e.g. EC60to30, QU240, RRS30to10, etc.)
mpasMeshName = oRRS30to10v3wLI

# Directory for mapping files (if they have been generated already). If mapping
# files needed by the analysis are not found here, they will be generated and
# placed in the output mappingSubdirectory
mappingDirectory = /global/project/projectdirs/acme/mpas_analysis/mapping

[output]
## options related to writing out plots, intermediate cached data sets, logs,
## etc.

# directory where analysis should be written
baseDirectory = /dir/to/analysis/output

# provide an absolute path to put HTML in an alternative location (e.g. a web
# portal)
# htmlSubdirectory = /global/project/projectdirs/acme/www/USERNAME/RUNNAME
htmlSubdirectory = html

# a list of analyses to generate. Valid names can be seen by running:
# ./run_mpas_analysis --list
# This command also lists tags for each analysis.
# Shortcuts exist to generate (or not generate) several types of analysis.
# These include:
# 'all' -- all analyses will be run
# 'all_<tag>' -- all analysis with a particular tag will be run
# 'all_<component>' -- all analyses from a given component (either 'ocean'
# or 'seaIce') will be run
# 'no_<task_name>' -- skip the given task
# 'no_<component>', 'no_<tag>' -- in analogy to 'all_*', skip all analysis
# tasks from the given compoonent or with
# the given tag. Do
# ./run_mpas_analysis --list
# to list all task names and their tags
# an equivalent syntax can be used on the command line to override this
# option:
# ./run_mpas_analysis config.analysis --generate \
# all,no_ocean,all_timeSeries
generate = ['all']

[climatology]
## options related to producing climatologies, typically to compare against
## observations and previous runs

# the first year over which to average climatalogies
startYear = 5
# the last year over which to average climatalogies
endYear = 10

[timeSeries]
## options related to producing time series plots, often to compare against
## observations and previous runs

# start and end years for timeseries analysis. Using out-of-bounds values
# like start_year = 1 and end_year = 9999 will be clipped to the valid range
# of years, and is a good way of insuring that all values are used.
startYear = 1
endYear = 10

[index]
## options related to producing nino index.

# start and end years for the nino 3.4 analysis. Using out-of-bounds values
# like start_year = 1 and end_year = 9999 will be clipped to the valid range
# of years, and is a good way of insuring that all values are used.
# For valid statistics, index times should include at least 30 years
startYear = 1
endYear = 10

[oceanObservations]
## options related to ocean observations with which the results will be compared

# directory where ocean observations are stored
baseDirectory = /global/project/projectdirs/acme/observations/Ocean/
sstSubdirectory = SST
sssSubdirectory = SSS
mldSubdirectory = MLD
ninoSubdirectory = Nino
mhtSubdirectory = MHT
meltSubdirectory = Melt
soseSubdirectory = SOSE

[oceanPreprocessedReference]
## options related to preprocessed ocean reference run with which the results
## will be compared (e.g. a POP, CESM or ACME v0 run)

# directory where ocean reference simulation results are stored
baseDirectory = /global/project/projectdirs/acme/ACMEv0_lowres/B1850C5_ne30_v0.4/ocn/postprocessing

[seaIceObservations]
## options related to sea ice observations with which the results will be
## compared

# directory where sea ice observations are stored
baseDirectory = /global/project/projectdirs/acme/observations/SeaIce

[seaIcePreprocessedReference]
## options related to preprocessed sea ice reference run with which the results
## will be compared (e.g. a CICE, CESM or ACME v0 run)

# directory where ocean reference simulation results are stored
baseDirectory = /global/project/projectdirs/acme/ACMEv0_lowres/B1850C5_ne30_v0.4/ice/postprocessing

[climatologyMapSoseTemperature]
## options related to plotting climatology maps of Antarctic
## potential temperature at various levels, including the sea floor against
## reference model results and SOSE reanalysis data

# Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
# Nov, Dec, JFM, AMJ, JAS, OND, ANN)
seasons = ['ANN']

# list of depths in meters (positive up) at which to analyze, 'top' for the
# sea surface, 'bot' for the sea floor
depths = ['top', -200, -400, -600, -800, 'bot']

[climatologyMapSoseSalinity]
## options related to plotting climatology maps of Antarctic
## salinity at various levels, including the sea floor against
## reference model results and SOSE reanalysis data

# Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
# Nov, Dec, JFM, AMJ, JAS, OND, ANN)
seasons = ['ANN']

# list of depths in meters (positive up) at which to analyze, 'top' for the
# sea surface, 'bot' for the sea floor
depths = ['top', -200, -400, -600, -800, 'bot']

[timeSeriesSeaIceAreaVol]
## options related to plotting time series of sea ice area and volume

# plot on polar plot
polarPlot = False

[timeSeriesAntarcticMelt]
## options related to plotting time series of melt below Antarctic ice shelves

# list of ice shelves to plot or ['all'] for all 106 ice shelves and regions.
# See "regionNames" in the ice shelf masks file in regionMaskDirectory for
# details.
iceShelvesToPlot = ['Peninsula', 'West Antarctica', 'East Antarctica', 'Larsen_C', 'Filchner', 'Ronne', 'Brunt_Stancomb', 'Fimbul', 'Amery', 'Totten', 'Ross_West', 'Ross_East', 'Getz', 'Thwaites', 'Pine_Island', 'Abbot', 'George_VI']

[regions]
## options related to ocean regions used in several analysis modules

# Directory for region mask files
regionMaskDirectory = /global/project/projectdirs/acme/mpas_analysis/region_masks
41 changes: 41 additions & 0 deletions configs/cori/job_script.cori-haswell.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash -l

# comment out if using debug queue
#SBATCH --partition=regular
# comment in to get premium queue
##SBATCH --qos=premium
# comment in to get the debug queue
##SBATCH --partition=debug
# comment in when run on cori haswell or knl
#SBATCH -C haswell
#SBATCH --nodes=1
#SBATCH --time=1:00:00
#SBATCH --account=acme
#SBATCH --job-name=mpas_analysis
#SBATCH --output=mpas_analysis.o%j
#SBATCH --error=mpas_analysis.e%j
#SBATCH -L cscratch1,SCRATCH,project

cd $SLURM_SUBMIT_DIR # optional, since this is the default behavior

export OMP_NUM_THREADS=1

module unload python python/base
module use /global/project/projectdirs/acme/software/modulefiles/all
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
run_config_file="config.run_name_here"

if [ ! -f $run_config_file ]; then
echo "File $run_config_file not found!"
exit 1
fi
if [ ! -f ./run_mpas_analysis ]; then
echo "run_mpas_analysis not found in current directory!"
exit 1
fi

srun -N 1 -n 1 ./run_mpas_analysis $run_config_file

Loading