Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
ebbd1a5
Add support for ncclimo
xylar Aug 6, 2017
16affbe
Add option ncclimoParallelMode; default is serial
xylar Aug 8, 2017
a2cf851
Clarify a comment in config.default
xylar Aug 11, 2017
2a87dd1
Remove unneeded calendar arg
xylar Aug 13, 2017
898cbcf
Suppress some ncremap output
xylar Aug 12, 2017
4e1162e
Add write_netcdf function with finite _FillValue
xylar Aug 12, 2017
7d6062f
Suppress non-error output from ESMF_RegridWeightGen
xylar Aug 12, 2017
f98ab42
Rename regrid to remap everywhere for consistency
xylar Aug 13, 2017
63d0b30
Remove references to unused overwrite config options
xylar Aug 13, 2017
91cda06
Remove "Last Modified" from all docstrings
xylar Aug 13, 2017
1aced29
Remove config paths to individual mapping files
xylar May 31, 2017
3ca8b28
Merge branch 'simplify_ncremap_output' into temp
xylar Aug 15, 2017
98c2242
Switch ocean climatology maps to use ncclimo
xylar Aug 10, 2017
a5c0617
Switch sea-ice climatology maps to use ncclimo
xylar Aug 10, 2017
3f1b5c0
Switch MHT to use ncclimo
xylar Aug 10, 2017
67858d4
Fix CI and a typo in regriddedDirectory (.nc at end)
xylar Aug 10, 2017
bf115c2
Remove alpha8, beta0 runs on edison; add G-QU240
xylar Aug 10, 2017
d9ca7f6
Add function to get ncclimo file names
xylar Aug 10, 2017
79141ac
Switch ncclimo to use --seasons flag
xylar Aug 11, 2017
a1e34ca
Add support for prerequisite tasks
xylar Aug 13, 2017
5e40355
Create tasks with create_tasks method
xylar Aug 13, 2017
259cb7d
Remove unused private lock function
xylar Aug 13, 2017
aa35956
Mesh desc. read and create now class methods
xylar Aug 13, 2017
17ba15a
Add MpasClimatology analysis task
xylar Aug 14, 2017
a4b2c38
Add hyperslabbing to ncclimo call
xylar Aug 15, 2017
eefcaee
Fix CI
xylar Aug 15, 2017
45aa58a
Add season to print statements from clim. map tasks
xylar Aug 17, 2017
3aee9e1
Lat/lon grids are not always global
xylar Apr 19, 2017
3eb5dd8
Add antarctic comparison grid to ocean clim. maps
xylar Aug 14, 2017
7e52370
Add customize_climatology funciton
xylar Aug 15, 2017
bb3704b
Get rid of old sea ice config options
xylar Aug 15, 2017
c16568d
Some clean up of ClimatologyMapOcean
xylar Aug 15, 2017
e526cf7
Add a function for adding prerequisite tasks
xylar Aug 15, 2017
d2624b3
small pep8 fix
xylar Aug 15, 2017
01aadf6
Add task climatologyMapMeltAntarctic
xylar Aug 15, 2017
e3e8fe0
Add a CI test for MpasClimatology
xylar Aug 15, 2017
fcfc57e
make build_observational_dataset public
xylar Aug 16, 2017
39aad9e
Add analysis tasks for plotting SOSE T and S
xylar Aug 16, 2017
a4a440c
Add scripts for preprocessing observations
xylar Jun 21, 2017
03eee61
Add config file for g60to30_SSSrestore
xylar Aug 19, 2017
8db8e2b
Add config file for edison B_low_res_ice_shelves run
xylar Aug 21, 2017
2fc0f57
Add a configs directory for cori
xylar Aug 23, 2017
f5867ac
Update MPAS mesh names and MOC mask file names on Edison
xylar Aug 28, 2017
d2e01a9
Change to mask directory instead of MOC mask file
xylar Aug 25, 2017
f2cc77f
Add task for plotting time series of Antarctic melt
xylar Aug 25, 2017
c935f49
Add script for preprocessing ice-shelf masks
xylar Aug 25, 2017
c12f276
Update Edison config files for ice-shelf runs
xylar Aug 25, 2017
61548ec
Add landIceFraction to area used in melt time series
xylar Aug 30, 2017
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 @@ -18,7 +18,7 @@ This analysis repository presumes that the following python packages are availab
* bottleneck
* basemap
* lxml
* nco >= 4.5.4
* nco >= 4.6.8
* pyproj

You can easily install them via the conda command:
Expand Down
448 changes: 352 additions & 96 deletions config.default

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions configs/cori/config.20170625.beta1.g60to30_SSSrestore
1 change: 1 addition & 0 deletions configs/cori/config.20170807.beta1.G_oQU240.edison
1 change: 1 addition & 0 deletions configs/cori/config.20170817.beta1.B_low_res_ice_shelves
42 changes: 42 additions & 0 deletions configs/cori/job_script.cori-haswell.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/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 python/anaconda-2.7-acme
export PATH=/global/homes/z/zender/bin_cori:${PATH}

# 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_analysis.py ]; then
echo "run_analysis.py not found in current directory!"
exit 1
fi

srun -N 1 -n 1 ./run_analysis.py $run_config_file

42 changes: 42 additions & 0 deletions configs/cori/job_script.cori-knl.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/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 knl
#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 python/anaconda-2.7-acme
export PATH=/global/homes/z/zender/bin_cori:${PATH}

# 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_analysis.py ]; then
echo "run_analysis.py not found in current directory!"
exit 1
fi

srun -N 1 -n 1 ./run_analysis.py $run_config_file

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ preprocessedReferenceRunName = B1850C5_ne30_v0.4
baseDirectory = /scratch2/scratchdirs/golaz/ACME_simulations/20170313.beta1.A_WCYCL1850S.ne30_oECv3_ICG.edison/run

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

[output]
## options related to writing out plots, intermediate cached data sets, logs,
Expand Down
179 changes: 179 additions & 0 deletions configs/edison/config.20170625.beta1.g60to30_SSSrestore
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
[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 = 20170625.beta1.g60to30_SSSrestore
# 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

[execute]
## options related to executing parallel tasks

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

# 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
ncclimoParallelMode = bck

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

# directory containing model results
baseDirectory = /global/cscratch1/sd/sprice/acme_scratch/edison/g60to30_SSSrestore/run

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

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

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

# a list of analyses to generate. Valid names are:
# 'timeSeriesOHC', 'timeSeriesSST', 'climatologyMapSST',
# 'climatologyMapSSS', 'climatologyMapMLD', 'streamfunctionMOC',
# 'indexNino34', 'meridionalHeatTransport',
# 'timeSeriesSeaIceAreaVol', 'climatologyMapSeaIceConcThick'
# the following shortcuts exist:
# '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
# an equivalent syntax can be used on the command line to override this
# option:
# ./run_analysis.py 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']

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

# the first year over which to average climatalogies
startYear = 13
# the last year over which to average climatalogies
endYear = 22

# The names of the mapping file used for interpolation. If a mapping file has
# already been generated, supplying the absolute path can save the time of
# generating a new one. If nothing is supplied, the file name is automatically
# generated based on the MPAS mesh name, the comparison grid resolution, and
# the interpolation method
mappingDirectory = /global/project/projectdirs/acme/mapping/maps/

[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 = 22

[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 = 9999

[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

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

# plot on polar plot
polarPlot = False

[streamfunctionMOC]
## options related to plotting the streamfunction of the meridional overturning
## circulation (MOC)
maxChunkSize = 1000

[regions]
# Directory containing mask files for ocean basins and ice shelves
regionMaskDirectory = /global/project/projectdirs/acme/mpas_analysis/region_masks

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

# list of depths in meters (positive up) at which to analyze, 'bot' for the
# bottom of the ocean
depths = [0, -200, -400, -600, -800, 'bot']

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

# list of depths in meters (positive up) at which to analyze, 'bot' for the
# bottom of the ocean
depths = [0, -200, -400, -600, -800, 'bot']

[timeSeriesAntarcticMelt]
# a list of ice shelves to plot
iceShelvesToPlot = ['Antarctica', 'Peninsula', 'West Antarctica', 'East Antarctica', 'Larsen_C', 'Filchner-Ronne', 'Brunt_Stancomb', 'Fimbul', 'Amery', 'Totten', 'Ross', 'Getz', 'Thwaites', 'Pine_Island', 'Abbot', 'George_VI']

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## compared against

# mainRunName is a name that identifies the simulation being analyzed.
mainRunName = 20161117.beta0.A_WCYCL1850.ne30_oEC.edison
mainRunName = 20170807.beta1.G_oQU240.edison
# 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
Expand All @@ -15,10 +15,10 @@ preprocessedReferenceRunName = B1850C5_ne30_v0.4
## options related to reading in the results to be analyzed

# directory containing model results
baseDirectory = /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850.ne30_oEC.edison/run
baseDirectory = /scratch1/scratchdirs/xylar/acme_scratch/edison/G-QU240-master-intel/run

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

[output]
## options related to writing out plots, intermediate cached data sets, logs,
Expand Down Expand Up @@ -62,16 +62,16 @@ generate = ['all']
## observations and previous runs

# the first year over which to average climatalogies
startYear = 41
startYear = 2
# the last year over which to average climatalogies
endYear = 50
endYear = 5

# The names of the mapping file used for interpolation. If a mapping file has
# already been generated, supplying the absolute path can save the time of
# generating a new one. If nothing is supplied, the file name is automatically
# generated based on the MPAS mesh name, the comparison grid resolution, and
# the interpolation method
mpasMappingFile = /global/project/projectdirs/acme/mapping/maps/map_oEC60to30_TO_0.5x0.5degree_blin.160412.nc
# mpasMappingFile =

[timeSeries]
## options related to producing time series plots, often to compare against
Expand All @@ -81,7 +81,7 @@ mpasMappingFile = /global/project/projectdirs/acme/mapping/maps/map_oEC60to30_TO
# 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 = 51
endYear = 9999

[index]
## options related to producing nino index.
Expand All @@ -104,6 +104,7 @@ mldSubdirectory = MLD
ninoSubdirectory = Nino
mhtSubdirectory = MHT


[oceanPreprocessedReference]
## options related to preprocessed ocean reference run with which the results
## will be compared (e.g. a POP, CESM or ACME v0 run)
Expand Down Expand Up @@ -137,4 +138,4 @@ polarPlot = False
maxChunkSize = 1000

# Mask file for ocean basin regional computation
regionMaskFiles = /global/project/projectdirs/acme/mapping/grids/EC60to30v1_SingleRegionAtlanticWTransportTransects_masks.nc
regionMaskFiles = /global/project/projectdirs/acme/mpas_analysis/region_masks/oQU240v3_SingleRegionAtlanticWTransportTransects_masks.nc
Loading