## This file contains the default values of all possible configuration options ## used to run analysis tasks. Do not modify options in this file direct. ## Instead, follow this procedure: ## 1. Create and empty config file (say myrun.cfg) or copy one of the ## example files in the configs directory. ## 2. Copy and modify any config options you want to change from this file into ## into your new config file. Make sure they have the right section name ## (e.g. [run] or [output]). If nothing else, you will need to set ## baseDirectory under [output] to the folder where output should be stored. ## 3. run: mpas_analysis myrun.cfg. This will read the configuration ## first from this file and then replace that configuration with any ## changes from from myrun.cfg ## 4. If you want to run a subset of the analysis, you can either set the ## generate option under [output] in your config file or use the ## --generate flag on the command line. See the comments for 'generate' ## in the '[output]' section below for more details on this option. [runs] ## options related to the run to be analyzed and control runs to be ## compared against # mainRunName is a name that identifies the simulation being analyzed. mainRunName = v2.LR.historical_0221 # 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). This run name is completely unrelated to either the "main" # or "control" runs performed with MPAS components referred to below. preprocessedReferenceRunName = None # config file for a control 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 # control run is desired. # controlRunConfigFile = /path/to/config/file # config file for a main run on which the analysis was already run to # completion. The relevant MPAS climatologies already exist and have been # remapped to the comparison grid and time series have been extracted. # Leave this option commented out if the analysis for the main run should be # performed. # mainRunConfigFile = /path/to/config/file [execute] ## options related to executing parallel tasks # using the ones for cori here: https://github.com/MPAS-Dev/MPAS-Analysis/blob/develop/mpas_analysis/configuration/cori-haswell.cfg # the number of parallel tasks (1 means tasks run in serial, the default) parallelTaskCount = 12 # the parallelism mode in ncclimo ("serial", "bck" or "mpi") # Set this to "bck" (background parallelism) in most cases. The default number # of threads (see below) is 12, one for each monthly climatology. Set to "mpi" # to run one MPI task on each node and however many threads per node to reach # 12 total threads. ncclimoParallelMode = bck # the number of total threads to use when ncclimo runs in "bck" or "mpi" mode. # Reduce this number if ncclimo is crashing (maybe because it is out of memory). # The number of threads must be a factor of 12 (1, 2, 3, 4, 6 or 12). ncclimoThreads = 12 # the number of MPI tasks to use in creating mapping files (1 means tasks run in # serial, the default) mapMpiTasks = 12 # "None" if ESMF should perform mapping file generation in serial without a # command, or one of "srun" or "mpirun" if it should be run in parallel (or ins # serial but with a command) mapParallelExec = srun # "None" if ncremap should perform remapping without a command, or "srun" # possibly with some flags if it should be run with that command ncremapParallelExec = srun ## Multiprocessing method used in python mask creation ("forkserver", "fork" or ## Multiprocessing method used in python mask creation ("forkserver", "fork" or ## "spawn"). We have found that "spawn" is the only one that works in python ## 3.7 on Anvil so this is the default #multiprocessingMethod = spawn [diagnostics] ## config options related to observations, mapping files and region files used ## by MPAS-Analysis in diagnostics computations. # The base path to the diagnostics directory. Typically, this will be a shared # directory on each E3SM supported machine (see the example config files for # its location). For other machines, this would be the directory pointed to # when running "download_analysis_data.py" to get the public observations, # mapping files and region files. base_path = /global/cscratch1/sd/jcaron/diagnostics/ # A second directory where custom diagonstics data such as mapping files and # regions masks for unsupported grids can be found. The structure of # subdirectories in this directory must be the same as baseDirectory customDirectory = none # 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. The user can supply an absolute # path here to point to a path that is not within the baseDirectory above. mappingSubdirectory = mpas_analysis/maps # Directory for region mask files. The user can supply an absolute path here to # point to a path that is not within the baseDirectory above. regionMaskSubdirectory = mpas_analysis/region_masks [input] ## options related to reading in the results to be analyzed # directory containing model results baseDirectory = /global/cscratch1/sd/jcaron/diagnostics/v2.LR.historical_0221/ # Note: an absolute path can be supplied for any of these subdirectories. # A relative path is assumed to be relative to baseDirectory. # By default, results are assumed to be directly in baseDirectory, # i.e. /./ # subdirectory containing restart files runSubdirectory = . # subdirectory for ocean history files oceanHistorySubdirectory = . # subdirectory for sea ice history files seaIceHistorySubdirectory = . # names of namelist and streams files, either a path relative to baseDirectory # or an absolute path. oceanNamelistFileName = mpaso_in oceanStreamsFileName = streams.ocean seaIceNamelistFileName = mpassi_in seaIceStreamsFileName = streams.seaice # name of the ocean and sea-ice mesh (e.g. EC30to60E2r2, WC14to60E2r3, # ECwISC30to60E2r1, SOwISC12to60E2r4, oQU240, etc.) mpasMeshName = EC30to60E2r2 # cache. This should be smaller than your s per-process file descriptor # limit, e.g., ulimit -n on Linux file_cache_maxsize = 1200 # Large datasets can encounter a memory error. Specification of a maximum # chunk size `maxChunkSize` can be helpful to prevent the memory error. The # current maximum chunk size assumes approximately 64GB of ram and large files # with a single time slice. maxChunkSize = 10000 # Whether missing input data should produce an error. If not, the user gets # a warning and the time bounds are adjusted to the beginning and end of the # available data errorOnMissing = False [output] ## options related to writing out plots, intermediate cached data sets, logs, ## etc. # directory where analysis should be written # NOTE: This directory path must be specific to each test case. baseDirectory = /global/cscratch1/sd/jcaron/diagnostics/v2.LR.historical_0221/output/ # subdirectories within baseDirectory for analysis output plotsSubdirectory = plots logsSubdirectory = logs mpasClimatologySubdirectory = clim/mpas mappingSubdirectory = mapping timeSeriesSubdirectory = timeseries histogramSubdirectory = histograms profilesSubdirectory = profiles maskSubdirectory = masks # provide an absolute path to put HTML in an alternative location (e.g. a web # portal) htmlSubdirectory = html tablesSubdirectory = tables # a list of analyses to generate. Valid names can be seen by running: # 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_publicObs' -- all analyses for which observations are availabe on the # public server (the default) # 'all_' -- all analysis with a particular tag will be run # 'all_' -- all analyses from a given component (either 'ocean' # or 'seaIce') will be run # 'only_', 'only_' -- 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_' -- skip the given task # 'no_', 'no_' -- in analogy to 'all_*', skip all analysis # tasks from the given compoonent or with # the given tag. Do # 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: # mpas_analysis analysis.cfg --generate \ # only_ocean,no_timeSeries,timeSeriesSST #generate = ['all_publicObs', 'no_icebergs', 'no_climatologyMapAntarcticMelt', # 'no_timeSeriesAntarcticMelt', 'no_timeSeriesOceanRegions', # 'no_climatologyMapSose', 'no_climatologyMapSchmidtko', # 'no_soseTransects', 'no_oceanRegionalProfiles'] generate = ['all'] [climatology] ## options related to producing climatologies, typically to compare against ## observations and previous runs # the year from which to compute anomalies if not the start year of the # simulation. This might be useful if a long spin-up cycle is performed and # only the anomaly over a later span of years is of interest. # anomalyRefYear = 249 # the first year over which to average climatalogies startYear = 1850 # the last year over which to average climatalogies endYear = 1880 # The comparison lat/lon grid resolution in degrees comparisonLatResolution = 0.5 comparisonLonResolution = 0.5 # The comparison Antarctic polar stereographic grid size and resolution in km comparisonAntarcticStereoWidth = 6000. comparisonAntarcticStereoResolution = 10. # The comparison Arctic polar stereographic grid size and resolution in km comparisonArcticStereoWidth = 6000. comparisonArcticStereoResolution = 10. # The extended Antarctic polar stereographic comparison grid size and # resolution in km comparisonAntarcticExtendedWidth = 9000. comparisonAntarcticExtendedResolution = 15. # The extended Arctic polar stereographic comparison grid size and # resolution in km comparisonArcticExtendedWidth = 9000. comparisonArcticExtendedResolution = 15. # The comparison North Atlantic grid size and resolution in km comparisonNorthAtlanticWidth = 8500. comparisonNorthAtlanticHeight = 5500. comparisonNorthAtlanticResolution = 20. # The comparison North Pacific c grid size and resolution in km comparisonNorthPacificWidth = 15000. comparisonNorthPacificHeight = 5000. comparisonNorthPacificResolution = 20. # The comparison North Atlantic grid size and resolution in km comparisonSubpolarNorthAtlanticWidth = 7000. comparisonSubpolarNorthAtlanticHeight = 4000. comparisonSubpolarNorthAtlanticResolution = 20. # interpolation order for model and observation results. Likely values are # 'bilinear', 'neareststod' (nearest neighbor) or 'conserve' mpasInterpolationMethod = bilinear # should climatologies be performed with ncclimo or with xarray/dask useNcclimo = True # should remapping be performed with ncremap or with the Remapper class # directly in MPAS-Analysis useNcremap = True # The minimum weight of a destination cell after remapping. Any cell with # weights lower than this threshold will therefore be masked out. renormalizationThreshold = 0.01 # if useNcclimo = False, the number of threads dask is allowed to spawn for # each process computing a climatology for a given month or season # Decrease this number if mpasClimatology* subtasks are running # out of available threads daskThreads = 2 # if useNcclimo = False, the number of subprocesses that each climatology # subtask gets counted as occupying. # Increase this number if mpasClimatology* subtasks are running # out of memory, and fewer tasks will be allowed to run at once subprocessCount = 1 [timeSeries] ## options related to producing time series plots, often to compare against ## observations and previous runs # the year from which to compute anomalies if not the start year of the # simulation. This might be useful if a long spin-up cycle is performed and # only the anomaly over a later span of years is of interest. # anomalyRefYear = 249 # start and end years for timeseries analysis. Use endYear = end to indicate # that the full range of the data should be used. If errorOnMissing = False, # the start and end year will be clipped to the valid range. Otherwise, out # of bounds values will lead to an error. In a "control" config file used in # a "main vs. control" analysis run, the range of years must be valid and # cannot include "end" because the original data may not be available. startYear = 1850 endYear = 2014 # line colors for the main, control and obs curves # see https://matplotlib.org/stable/gallery/color/named_colors.html # and https://matplotlib.org/stable/tutorials/colors/colors.html mainColor = black controlColor = tab:red obsColor1 = tab:blue obsColor2 = tab:orange obsColor3 = tab:green obsColor4 = tab:purple obsColor5 = tab:cyan fitColor1 = tab:blue [index] ## options related to producing nino index. # start and end years for El Nino 3.4 analysis. Use endYear = end to indicate # that the full range of the data should be used. If errorOnMissing = False, # the start and end year will be clipped to the valid range. Otherwise, out # of bounds values will lead to an error. In a "control" config file used in # a "main vs. control" analysis run, the range of years must be valid and # cannot include "end" because the original data may not be available. startYear = 1850 endYear = 2014 [regions] ## options related to ocean regions used in several analysis modules # list of region names (needs to be in the same order as region indices in # time-series stats) regions = ['arctic', 'equatorial', 'so', 'nino3', 'nino4', 'nino3.4', 'global'] # list of plot titles (needs to be in the same order as region indices in # time-series stats) plotTitles = ['Arctic', 'Equatorial (15S-15N)', 'Southern Ocean', 'Nino 3', 'Nino 4', 'Nino 3.4', 'Global Ocean'] [plot] ## options related to plotting that are the defaults across all analysis ## modules # the default font size for axis ticks, etc. defaultFontSize = 10 # title and axis font properties for single-panel plots titleFontSize = 16 titleFontColor = black titleFontWeight = normal axisFontSize = 12 maxTitleLength = 45 # font size for cartopy grid labels cartopyGridFontSize = 12 # title and axis font properties for three-panel plots threePanelTitleFontSize = 16 threePanelPlotTitleFontSize = 14 threePanelTitleFontColor = black threePanelTitleFontWeight = normal threePanelAxisFontSize = 12 # the dots per inch of output figures dpi = 200 # Write out PDFs in addition to PNGs? pdf = False [plot_arctic] ## options related to Arctic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (8, 8.5) threePanelVertFigSize = (8, 22) threePanelHorizFigSize = (22, 7.5) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_antarctic] ## options related to Antarctic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (8, 8.5) threePanelVertFigSize = (8, 22) threePanelHorizFigSize = (22, 7.5) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_arctic_extended] ## options related to extended Arctic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (8, 8.5) threePanelVertFigSize = (8, 22) threePanelHorizFigSize = (22, 7.5) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_antarctic_extended] ## options related to extended Antarctic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (8, 8.5) threePanelVertFigSize = (8, 22) threePanelHorizFigSize = (22, 7.5) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_north_atlantic] ## options related to North Atlantic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (10, 7.5) threePanelVertFigSize = (10, 18) threePanelHorizFigSize = (24, 7) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_north_pacific] ## options related to North Pacific projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (10, 4) threePanelVertFigSize = (10, 9) threePanelHorizFigSize = (26, 4) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [plot_subpolar_north_atlantic] ## options related to Subpolar North Atlantic projection plots # figure sizes for different numbers of panels and layouts onePanelFigSize = (8, 5) threePanelVertFigSize = (8.5, 11) threePanelHorizFigSize = (21, 5) # whether to use the cartopy coastline (as opposed to the model coastline) useCartopyCoastline = True # latitude and longitude grid lines latLines = np.arange(-80., 81., 10.) lonLines = np.arange(-180., 181., 30.) [html] ## options related to generating a webpage to display the analysis # generate the webpage? generate = True [oceanObservations] ## options related to ocean observations with which the results will be ## compared # subdirectory within [diagnostics]/baseDirectory where ocean observations are # stored. The user can supply an absolute path here to point to a path that is # not within [diagnostics]/baseDirectory. obsSubdirectory = observations/Ocean sstSubdirectory = SST sssSubdirectory = SSS ekeSubdirectory = EKE mldSubdirectory = MLD ninoSubdirectory = Nino mhtSubdirectory = MHT meltSubdirectory = Melt soseSubdirectory = SOSE sshSubdirectory = SSH argoSubdirectory = ARGO woa18Subdirectory = WOA18 schmidtkoSubdirectory = Schmidtko woceSubdirectory = WOCE no3Subdirectory = BGC/NO3 po4Subdirectory = BGC/PO4 sio3Subdirectory = BGC/SiO3 o2Subdirectory = BGC/O2 co2_gas_fluxSubdirectory = BGC/CO2_gas_flux dicSubdirectory = BGC/DIC alkSubdirectory = BGC/ALK ph_3dSubdirectory = BGC/pH_3D pco2surfaceSubdirectory = BGC/pCO2surface chlSubdirectory = BGC/Chl era5Subdirectory = ERA5 sscciSubdirectory = SSCCI # interpolation order for observations. Likely values are # 'bilinear', 'neareststod' (nearest neighbor) or 'conserve' interpolationMethod = bilinear # The directories where observation climatologies will be stored if they need # to be computed. If a relative path is supplied, it is relative to the output # base directory. If an absolute path is supplied, this should point to # cached climatology files on the desired comparison grid. If cached remapped # files are supplied, there is no need to provide cached files before # remapping. climatologySubdirectory = clim/obs remappedClimSubdirectory = clim/obs/remapped [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/cscratch1/sd/jcaron/diagnostics/test/reference/ [seaIceObservations] ## options related to sea ice observations with which the results will be ## compared # subdirectory within [diagnostics]/baseDirectory where sea ice observations # are stored. The user can supply an absolute path here to point to a path # that is not within [diagnostics]/baseDirectory. obsSubdirectory = observations/SeaIce # interpolation order for observations. Likely values are # 'bilinear', 'neareststod' (nearest neighbor) or 'conserve' interpolationMethod = bilinear # The directories where observation climatologies will be stored if they need # to be computed. If a relative path is supplied, it is relative to the output # base directory. If an absolute path is supplied, this should point to # cached climatology files on the desired comparison grid. If cached remapped # files are supplied, there is no need to provide cached files before # remapping. climatologySubdirectory = clim/obs remappedClimSubdirectory = clim/obs/remapped [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 = /dir/to/seaice/reference [icebergObservations] ## options related to iceberg observations with which the results will be ## compared # subdirectory within [diagnostics]/baseDirectory where iceberg observations # are stored. The user can supply an absolute path here to point to a path # that is not within [diagnostics]/baseDirectory. obsSubdirectory = ../observations/Icebergs concentrationAltibergSH = Altiberg/Altiberg_1991-2017_20180308.nc [timeSeriesOHCAnomaly] ## options related to plotting time series of ocean heat content (OHC) ## anomalies from year 1 # list of regions to plot from the region list in [regions] below regions = ['global'] # approximate depths (m) separating plots of the upper, middle and lower ocean depths = [700, 2000] # preprocessed file prefix, with format OHC..year*.nc preprocessedFilePrefix = OHC # prefix on preprocessed field name, with format ohc_ 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 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [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 colormapNameResult = balance # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-2.4, -0.8, -0.4, -0.2, 0, 0.2, 0.4, 0.8, 2.4] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-2.5, 2.6, 0.5) # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # 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 [hovmollerTemperatureAnomaly] ## options related to plotting time series of potential temperature 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 colormapNameResult = balance # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 28, 57, 85, 113, 125, 130, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [-2.0, -1.0, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 1.0, 2.0] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-5.0, 5.51, 0.5) # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [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 colormapNameResult = balance # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours #colormapIndicesResult = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255] colormapIndicesResult = [0, 28, 57, 85, 113, 125, 130, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries #colorbarLevelsResult = [-0.1, -0.02, -0.003, -0.001, 0, 0.001, 0.003, 0.02, 0.1] colorbarLevelsResult = [-1.0, -0.5, -0.2, -0.1, -0.02, 0, 0.02, 0.1, 0.2, 0.5, 1.0] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-2., 2.01, 0.2) # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [timeSeriesSST] ## options related to plotting time series of sea surface temperature (SST) # 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 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [timeSeriesSSHAnomaly] ## options related to plotting time series of sea surface height (SSH) ## anomalies from a reference year # 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 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # An optional start and end year for a linear fit. The fit is only performed # between the start and end year, and these years are marked with large dots, # but the trend line may continue beyond these bounds in both directions. # fitStartYear = 1 # fitEndYear = 100 [indexNino34] ## options related to plotting time series of the El Nino 3.4 index (or ## optionally El Nino 3 or 4 index) # 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 two options # 1 - ERS_SSTv4 -- Extended Reconstructed Sea Surface Temperature -- 1854 - 2016 # 2 - HADIsst -- Hadley Center analysis -- 1870 - 2016 observationData = HADIsst [meridionalHeatTransport] ## options related to plotting meridional heat transport (MHT) # Data source to read for comparison observationData = mht_TrenberthCaron.NoAtm_20180710.nc # colormap for model results colormapName = balance # whether the colormap is indexed or continuous colormapType = indexed # colormap indices for contour color colormapIndices = [0, 28, 57, 85, 113, 142, 170, 198, 227, 255] # colorbar levels/values for contour boundaries colorbarLevels = [-0.1, -0.05, -0.02, -0.01, -0.005, 0, 0.005, 0.01, 0.02, 0.05, 0.1] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevels = [-0.1, -0.01, 0.01, 0.1] # latitude and depth limits xLimGlobal = [-80, 80] depthLimGlobal = [-1000, 0] # compare to observations? compareWithObservations = True # plot the vertical section of MHT? plotVerticalSection = False # Number of points over which to compute moving average (with respect to latitude) # for MHT vertical section plots movingAveragePoints = 1 [streamfunctionMOC] ## options related to plotting the streamfunction of the meridional overturning ## circulation (MOC) # Use postprocessing script to compute the MOC? You want this to be True # for low-resolution simulations that use GM to parameterize eddies, because # the online MOC analysis member currently does not include the bolus velocity # in its calculation, whereas the postprocessing script does. # NOTE: this is a temporary option that will be removed once the online # MOC takes into account the bolus velocity when GM is on. usePostprocessingScript = False # Region names for basin MOC calculation. # Supported options are Atlantic, AtlanticMed, Indian, Pacific and IndoPacific regionNames = ['Atlantic', 'AtlanticMed', 'IndoPacific'] # Number of points over which to compute moving average for # MOC timeseries (e.g., for monthly output, movingAveragePoints=12 # corresponds to a 12-month moving average window) movingAveragePoints = 12 # Number of points over which to compute moving average (with respect to # latitude) for climatological MOC plots movingAveragePointsClimatological = 1 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [streamfunctionMOCGlobal] ## options related to plotting the Global MOC # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -80. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 80. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 1. # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-20, -15, -10, -5, 0, 5, 10, 15, 20, 40] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-30.1, 50.1, 10) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [streamfunctionMOCAtlantic] ## options related to plotting the Atlantic MOC without the Mediterranean # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -35. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 70. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 0.5 # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-5, -2, 0, 2, 5, 8, 10, 12, 14, 18] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-8, 20.1, 2) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [streamfunctionMOCAtlanticMed] ## options related to plotting the Atlantic and Mediterranean MOC # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -35. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 70. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 0.5 # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-5, -2, 0, 2, 5, 8, 10, 12, 14, 18] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-8, 20.1, 2) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [streamfunctionMOCIndoPacific] ## options related to plotting the IndoPacific MOC # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -35. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 70. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 0.5 # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-5, -2, 0, 2, 5, 8, 10, 12, 14, 18] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-8, 20.1, 2) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [streamfunctionMOCIndian] ## options related to plotting the Indian Ocean MOC # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -35. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 70. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 0.5 # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-5, -2, 0, 2, 5, 8, 10, 12, 14, 18] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-8, 20.1, 2) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [streamfunctionMOCPacific] ## options related to plotting the Pacific MOC # Minium value of latitudinal extent for MOC streamfunction plot latBinMin = -35. # Maximum value of latitudinal extent for MOC streamfunction plot latBinMax = 70. # Size of latitude bins over which MOC streamfunction is integrated # (this is only relevant for the postprocessing MOC script) latBinSize = 0.5 # colormap for model results colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # colormap indices for contour color colormapIndicesResult = [0, 20, 40, 80, 110, 140, 170, 200, 230, 242, 255] # colorbar levels/values for contour boundaries colorbarLevelsResult = [-5, -2, 0, 2, 5, 8, 10, 12, 14, 18] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(-8, 20.1, 2) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # colormap indices for contour color # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-5., 6., 2.) [climatologyMapSST] ## options related to plotting horizontally remapped climatologies of ## sea surface temperature (SST) against control model results and ## observations # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [-2, 0, 2, 6, 10, 16, 22, 26, 28, 32] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-5, -3, -2, -1, -0.1, 0, 0.1, 1, 2, 3, 5] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] # first and last year of SST observational climatology (preferably one of the # two ranges given below) # values for preindustrial obsStartYear = 1870 obsEndYear = 1900 # alternative values for present day #obsStartYear = 1990 #obsEndYear = 2011 [climatologyMapSSS] ## options related to plotting horizontally remapped climatologies of ## sea surface salinity (SSS) against control model results and observations # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [28, 29, 30, 31, 32, 33, 34, 35, 36, 38] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-3, -2, -1, -0.5, -0.02, 0, 0.02, 0.5, 1, 2, 3] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] [climatologyMapMLD] ## options related to plotting horizontally remapped climatologies of ## mixed layer depth (MLD) against control model results and observations # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] [climatologyMapMLDMinMax] ## options related to plotting horizontally remapped climatologies of ## monthly min/max mixed layer depth (MLD), optionally against control model ## results # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] [climatologyMapDensityMLDMinMax] ## color mpas for density-threshold MLD min/max plots in the same figure # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = viridis # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [0, 1, 5, 10, 20, 30, 50, 80, 110, 150] [climatologyMapDensityMLDMin] ## color mpas for density MLD min plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapDensityMLDMax] ## color mpas for density MLD max plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapTemperatureMLDMinMax] ## color mpas for temperature-threshold MLD min/max plots in the same figure # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = viridis # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [0, 1, 5, 10, 20, 30, 50, 80, 110, 150] [climatologyMapTemperatureMLDMin] ## color mpas for temperature MLD min plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapTemperatureMLDMax] ## color mpas for temperature MLD max plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapBLDMinMax] ## color mpas for boundary-layer depth min/max plots in the same figure # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = viridis # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [0, 1, 5, 10, 20, 30, 50, 80, 110, 150] [climatologyMapBLDMin] ## color mpas for BLD min plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapBLDMax] ## color mpas for BLD max plots in separate figures for main vs. control # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [0, 20, 50, 80, 120, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [10., 30., 50., 75., 100., 150., 200., 400., 800.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-150, -80, -30, -10, -1, 0, 1, 10, 30, 80, 150] [climatologyMapSSH] ## options related to plotting horizontally remapped climatologies of ## sea surface height (SSH) against control model results and observations # colormap for model/observations colormapNameResult = Maximenko # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = numpy.array(numpy.linspace(0, 255, 38), int) # colormap levels/values for contour boundaries colorbarLevelsResult = numpy.arange(-240., 130., 10.) # colormap levels/values for ticks (defaults to same as levels) colorbarTicksResult = numpy.arange(-240., 160., 40.) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = numpy.arange(-240., 130., 10.) # contour line thickness contourThicknessResult = 0.25 # contour color contourColorResult = 0.25 # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 23, 46, 70, 93, 116, 128, 128, 139, 162, 185, 209, 232, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-100., -80., -60., -40., -20., -10., 0., 10., 20., 40., 60., 80., 100.] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] [climatologyMapEKE] ## options related to plotting horizontally remapped climatologies of ## eddy kinetic energy (EKE) against control model results and observations # colormap for model/observations colormapNameResult = magma_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 1000.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -300., 'vmax': 300.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2., 2., 9 # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'subpolar_north_atlantic'] [climatologyMapBSF] ## options related to plotting horizontally remapped climatologies of ## the barotropic streamfunction (BSF) against control model results ## (if available) # colormap for model/observations colormapNameResult = cmo.curl # whether the colormap is indexed or continuous colormapTypeResult = continuous # color indices into colormapName for filled contours # the type of norm used in the colormap normTypeResult = symLog # A dictionary with keywords for the norm normArgsResult = {'linthresh': 30., 'linscale': 0.5, 'vmin': -100., 'vmax': 100.} colorbarTicksResult = [-100.,-40.,-20.,-10., 0., 10., 20., 40.,100.] # Adding contour lines to the figure contourLevelsResult = np.arange(-100., 101.0, 10.) contourThicknessResult = 0.5 contourColorResult = black # Add arrows to contour lines # whether to include arrows on the contour lines showing the direction of flow arrowsOnContourResult = True # colormap for differences colormapNameDifference = cmo.balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = symLog # A dictionary with keywords for the norm normArgsDifference = {'linthresh': 0.1, 'linscale': 0.5, 'vmin': -10., 'vmax': 10.} colorbarTicksDifference = [-10., -3., -1., -0.3, -0.1, 0., 0.1, 0.3, 1., 3., 10.] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'subpolar_north_atlantic'] # list of tuples(pairs) of depths (min, max) to integrate horizontal transport over depthRanges = [(0.0, -10000.0), (0.0, -2000.0)] [climatologyMapOHCAnomaly] ## options related to plotting horizontally remapped climatologies of ## ocean heat content (OHC) against control model results (if available) # colormap for model/observations colormapNameResult = BuOr # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = numpy.array(numpy.linspace(0, 255, 38), int) # colormap levels/values for contour boundaries colorbarLevelsResult = numpy.linspace(-12., 12., 37) # colormap levels/values for ticks (defaults to same as levels) colorbarTicksResult = numpy.linspace(-12., 12., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = numpy.array(numpy.linspace(0, 255, 9), int) # colormap levels/values for contour boundaries colorbarLevelsDifference = numpy.linspace(-2., 2., 10) # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] # A list of pairs of minimum and maximum depths (positive up, in meters) to # include in the vertical sums. The default values are the equivalents of the # default ranges of the timeSeriesOHCAnomaly task, with a value of -10,000 m # intended to be well below the bottom of the ocean for all existing MPAS-O # meshes. depthRanges = [(0.0, -10000.0), (0.0, -700.0), (-700.0, -2000.0), (-2000.0, -10000.0)] [climatologyMapAntarcticMelt] ## options related to plotting horizontally regridded maps of Antarctic ## sub-ice-shelf melt rates against control model results and observations # comparison grid(s) # only the Antarctic really makes sense but lat-lon could technically work. comparisonGrids = ['antarctic'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['JFM', 'JAS', 'ANN'] # colormap for model/observations colormapNameResult = erdc_iceFire_H # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = symLog # A dictionary with keywords for the norm normArgsResult = {'linthresh': 1., 'linscale': 0.5, 'vmin': -100., 'vmax': 100.} colorbarTicksResult = [-100., -50., -20., -10., -5., -2., -1., 0., 1., 2., 5., 10., 20., 50., 100.] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = symLog # A dictionary with keywords for the norm normArgsDifference = {'linthresh': 1., 'linscale': 0.5, 'vmin': -100., 'vmax': 100.} colorbarTicksDifference = [-100., -50., -20., -10., -5., -2., -1., 0., 1., 2., 5., 10., 20., 50., 100.] # make a tables of mean melt rates and melt fluxes for individual ice shelves? makeTables = False # If making tables, which ice shelves? This is a list of ice shelves or # ['all'] for all 106 ice shelves and regions. iceShelvesInTable = [] [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 regionMaskSubdirectory for # details. iceShelvesToPlot = ['Antarctica', 'Peninsula', 'West Antarctica', 'East Antarctica', 'Larsen_C', 'Filchner', 'Ronne', 'Filchner-Ronne', 'Brunt_Stancomb', 'Fimbul', 'Amery', 'Totten', 'Eastern_Ross', 'Western_Ross', 'Ross', 'Getz', 'Thwaites', 'Pine_Island', 'Abbot', 'George_VI'] # Number of months over which to compute moving average movingAveragePoints = 1 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 [timeSeriesOceanRegions] ## options related to plotting time series of groups of ocean regions # the names of region groups to plot, each with its own section below regionGroups = ['Arctic Ocean Regions', 'Antarctic Regions'] [timeSeriesArcticOceanRegions] ## options related to plotting time series of Arctic Ocean regions # list of regions to plot or ['all'] for all regions in the masks file. # See "regionNames" in the arcticOceanRegions masks file in # regionMaskSubdirectory for details. regionNames = [] # a list of variables to plot variables = [{'name': 'temperature', 'title': 'Temperature', 'units': r'$$^\circ$$C', 'mpas': 'timeMonthly_avg_activeTracers_temperature'}, {'name': 'salinity', 'title': 'Salinity', 'units': 'PSU', 'mpas': 'timeMonthly_avg_activeTracers_salinity'}, {'name': 'potentialDensity', 'title': 'Potential Density', 'units': 'kg m$$^{-3}$$', 'mpas': 'timeMonthly_avg_potentialDensity'}, {'name': 'mixedLayerDepth', 'title': 'Mixed Layer Depth', 'units': 'm', 'mpas': 'timeMonthly_avg_dThreshMLD'}] # The minimum and maximum depth over which fields are averaged. zmin = -1000 zmax = 0 # Observational data sets to compare against obs = ['WOA18'] [timeSeriesAntarcticRegions] ## options related to plotting time series of Antarctic regions # list of regions to plot or ['all'] for all regions in the masks file. # See "regionNames" in the antarcticRegions masks file in # regionMaskSubdirectory for details. regionNames = [] # a list of variables to plot variables = [{'name': 'temperature', 'title': 'Temperature', 'units': r'$$^\circ$$C', 'mpas': 'timeMonthly_avg_activeTracers_temperature'}, {'name': 'salinity', 'title': 'Salinity', 'units': 'PSU', 'mpas': 'timeMonthly_avg_activeTracers_salinity'}, {'name': 'potentialDensity', 'title': 'Potential Density', 'units': 'kg m$$^{-3}$$', 'mpas': 'timeMonthly_avg_potentialDensity'}, {'name': 'thermalForcing', 'title': 'Thermal Forcing', 'units': r'$$^\circ$$C', 'mpas': ['timeMonthly_avg_activeTracers_temperature', 'timeMonthly_avg_activeTracers_salinity', 'timeMonthly_avg_density']}, {'name': 'mixedLayerDepth', 'title': 'Mixed Layer Depth', 'units': 'm', 'mpas': 'timeMonthly_avg_dThreshMLD'}] # The minimum and maximum depth over which fields are averaged, default is # to take these values from the geojson feature's zmin and zmax properties. # Add these to a custom config file to override the defaults. # zmin = -1000 # zmax = -400 # Observational data sets to compare against obs = ['SOSE', 'WOA18'] [timeSeriesTransport] ## options related to plotting time series of transport through transects # list of ocean transects from geometric_features to plot or ['all'] for all # available transects. transectsToPlot = ['Drake Passage', 'Tasmania-Ant', 'Africa-Ant', 'Antilles Inflow', 'Mona Passage', 'Windward Passage', 'Florida-Cuba', 'Florida-Bahamas', 'Indonesian Throughflow', 'Agulhas', 'Mozambique Channel', 'Bering Strait', 'Lancaster Sound', 'Fram Strait', 'Nares Strait', 'Denmark Strait', 'Iceland-Faroe-Scotland'] # Number of months over which to compute moving average movingAveragePoints = 1 # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # The number of parallel tasks occupied by each timeSeriesTransport task. # Analysis may run faster for large meshes when this value is set to 2 or 3 subprocessCount = 1 [regionalTSDiagrams] ## options related to plotting T/S diagrams of ocean regions # the names of region groups to plot, each with its own section below regionGroups = ['Ocean Basins'] # a list of seasons to compute climatologies over seasons = ['ANN'] # the number of threads dask is allowed to spawn for each process computing # the observational climatologies # Decrease this number if regionalTSDiagrams subtasks are running # out of available threads daskThreads = 8 # the number of subprocesses that each observational climatology subtask gets # counted as occupying # Increase this number if regionalTSDiagrams subtasks are running # out of memory, and fewer tasks will be allowed to run at once subprocessCount = 4 [TSDiagramsForAntarcticRegions] ## options related to plotting T/S diagrams of Antarctic regions # list of regions to plot or ['all'] for all regions in the masks file. # See "regionNames" in the antarcticRegions masks file in # regionMaskSubdirectory for details. regionNames = [] # diagram type, either 'volumetric' or 'scatter', depending on if the points # should be binned the plot should show the volume fraction in each bin or # scattered points colored by their depth diagramType = volumetric # if diagramType == 'volumetric', the bin boundaries for T and S # if diagramType == 'scatter', only the min and max are important (and the # bins are only used for computing neutral density contours) Tbins = numpy.linspace(-2.5, 4, 131) Sbins = numpy.linspace(33.8, 34.8, 201) # density contour interval rhoInterval = 0.1 # The color map for depth or volume colormap = cmo.deep # The following is more appropriate if diagramType == 'scatter' # colormap = cmo.deep_r # the type of norm used in the colormap {'linear', 'log'} normType = log # The minimum and maximum depth over which fields are plotted, default is # to take these values from the geojson feature's zmin and zmax properties. # Add these to a custom config file to override the defaults. # zmin = -1000 # zmax = -400 # the minimum and maximum volume for the colorbar, default is the minimum and # maximum over the mode output # volMin = 3e9 # volMax = 1e12 # Obserational data sets to compare against obs = ['SOSE', 'WOA18'] [TSDiagramsForArcticOceanRegions] ## options related to plotting T/S diagrams of Antarctic regions # list of regions to plot or ['all'] for all regions in the masks file. # See "regionNames" in the antarcticRegions masks file in # regionMaskSubdirectory for details. regionNames = [] # diagram type, either 'volumetric' or 'scatter', depending on if the points # should be binned the plot should show the volume fraction in each bin or # scattered points colored by their depth diagramType = volumetric # if diagramType == 'volumetric', the bin boundaries for T and S # if diagramType == 'scatter', only the min and max are important (and the # bins are only used for computing neutral density contours) Tbins = numpy.linspace(-2.5, 8.0, 211) Sbins = numpy.linspace(33.5, 35.5, 401) # density contour interval rhoInterval = 0.3 # The color map for depth or volume colormap = cmo.deep # The following is more appropriate if diagramType == 'scatter' # colormap = cmo.deep_r # the type of norm used in the colormap {'linear', 'log'} normType = log # The minimum and maximum depth over which fields are plotted, default is # to take these values from the geojson feature's zmin and zmax properties. # Add these to a custom config file to override the defaults. zmin = -6000 zmax = 0 # the minimum and maximum volume for the colorbar, default is the minimum and # maximum over the mode output #volMin = 3e9 #volMax = 1e12 # Obserational data sets to compare against obs = ['WOA18'] [TSDiagramsForOceanBasins] ## options related to plotting T/S diagrams of major ocean basins # list of regions to plot or ['all'] for all regions in the masks file. # See "regionNames" in the oceanBasins masks file in # regionMaskSubdirectory for details. regionNames = ["Atlantic_Basin", "Pacific_Basin", "Indian_Basin", "Arctic_Basin", "Southern_Ocean_Basin", "Mediterranean_Basin", "Global Ocean", "Global Ocean 65N to 65S", "Global Ocean 15S to 15N"] # diagram type, either 'volumetric' or 'scatter', depending on if the points # should be binned the plot should show the volume fraction in each bin or # scattered points colored by their depth diagramType = volumetric # if diagramType == 'volumetric', the bin boundaries for T and S # if diagramType == 'scatter', only the min and max are important (and the # bins are only used for computing neutral density contours) Tbins = numpy.linspace(-2.5, 16, 926) Sbins = numpy.linspace(33.8, 35.8, 1001) # density contour interval rhoInterval = 0.2 # The color map for depth or volume colormap = white_cmo_deep # The following is more appropriate if diagramType == 'scatter' # colormap = cmo.deep_r # the type of norm used in the colormap {'linear', 'log'} normType = log # The minimum and maximum depth over which fields are plotted. zmin = -1000 zmax = 0 # Obserational data sets to compare against obs = ['WOA18'] [climatologyMapSose] ## options related to plotting climatology maps of Antarctic fields at various ## levels, including the sea floor against control model results and SOSE ## reanalysis data # comparison grid(s) # only the Antarctic really makes sense but lat-lon could technically work. comparisonGrids = ['antarctic'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN','JFM','JAS'] # 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'] # a list of fields top plot for each transect. All supported fields are listed # below fieldList = ['temperature', 'salinity', 'potentialDensity', 'mixedLayerDepth', 'zonalVelocity', 'meridionalVelocity', 'velocityMagnitude'] # set the suffix for files, e.g. if you want to use a different comparison # grid from the default fileSuffix = 6000.0x6000.0km_10.0km_Antarctic_stereo_20180710 # depth separating shallow from deep color maps shallowVsDeepColormapDepth = -1000 [climatologyMapSoseTemperatureShallow] ## options related to plotting climatology maps of Antarctic ## potential temperature at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 10.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 10., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-5., 5., 9) [climatologyMapSoseTemperatureDeep] ## options related to plotting climatology maps of Antarctic ## potential temperature at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2., 2., 9) [climatologyMapSoseSalinityShallow] ## options related to plotting climatology maps of Antarctic ## salinity at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 32.2, 'vmax': 35.5} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(32.2, 35.5, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -1.5, 'vmax': 1.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-1.5, 1.5, 9) [climatologyMapSoseSalinityDeep] ## options related to plotting climatology maps of Antarctic ## salinity at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 33.8, 'vmax': 35.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(33.8, 35.0, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9) [climatologyMapSosePotentialDensityShallow] ## options related to plotting climatology maps of Antarctic ## potential density at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1026.5, 1028., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) [climatologyMapSosePotentialDensityDeep] ## options related to plotting climatology maps of Antarctic ## potential density at various levels, including the sea floor against ## control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1027.2, 'vmax': 1028.2} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1027.2, 1028.2, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) [climatologyMapSoseMixedLayerDepth] ## options related to plotting climatology maps of Antarctic ## mixed layer depth against control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = log # A dictionary with keywords for the norm normArgsResult = {'vmin': 10., 'vmax': 300.} # specify the ticks colorbarTicksResult = [10, 20, 40, 60, 80, 100, 200, 300] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = symLog # A dictionary with keywords for the norm normArgsDifference = {'linthresh': 10., 'linscale': 0.5, 'vmin': -200., 'vmax': 200.} colorbarTicksDifference = [-200., -100., -50., -20., -10., 0., 10., 20., 50., 100., 200.] [climatologyMapSoseZonalVelocity] ## options related to plotting climatology maps of Antarctic ## zonal velocity against control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) [climatologyMapSoseMeridionalVelocity] ## options related to plotting climatology maps of Antarctic ## meridional against control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) [climatologyMapSoseVelocityMagnitude] ## options related to plotting climatology maps of Antarctic ## meridional against control model results and SOSE reanalysis data # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(0, 0.2, 9) # colormap for differences colormapNameDifference = balance # the type of norm used in the colormap # whether the colormap is indexed or continuous colormapTypeDifference = continuous normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) [climatologyMapWaves] ## options related to plotting climatology maps of wave fields ## ERA5 climatological data # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN', 'JFM', 'JAS'] # a list of fields to plot ('significantWaveHeight', 'peakWavePeriod') fieldList = ['significantWaveHeight', 'peakWavePeriod'] era5ObsStartYear = 1959 era5ObsEndYear = 2021 sscciObsStartYear = 1991 sscciObsEndYear = 2018 [climatologyMapWavesSignificantWaveHeight] ## options related to plotting climatology maps of significant wave height # colormap for model/observations colormapNameResult = viridis # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 7.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 10., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-5., 5., 9) [climatologyMapWavesPeakWavePeriod] ## options related to plotting climatology maps of peak wave frequency # colormap for model/observations colormapNameResult = plasma # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0.0, 'vmax':15.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 10., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-5., 5., 9) [climatologyMapWoa] ## options related to plotting climatology maps of Temperature and Salinity ## fields at various levels, including the sea floor against control model ## results and WOA climatological data # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN','JFM','JAS'] # list of depths in meters (positive up) at which to analyze, 'top' for the # sea surface. Note that, for seasons='ANN', depths can be as deep as 5500 m, # otherwise use a maximum depth of 1500 m. depths = ['top', -500, -1000] # a list of fields top plot for each transect. All supported fields are listed # below fieldList = ['temperature', 'salinity'] # depth separating shallow from deep color maps shallowVsDeepColormapDepth = -1000 [climatologyMapWoaTemperatureShallow] ## options related to plotting climatology maps of potential temperature ## at various levels, including the sea floor against control model results ## and WOA18 climatological data # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 10.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 10., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-5., 5., 9) [climatologyMapWoaTemperatureDeep] ## options related to plotting climatology maps of potential temperature ## at various levels, including the sea floor against control model results ## and WOA18 climatological data # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2., 2., 9) [climatologyMapWoaSalinityShallow] ## options related to plotting climatology maps of salinity ## at various levels, including the sea floor against control model results ## and WOA18 climatological data # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 32.2, 'vmax': 35.5} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(32.2, 35.5, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -1.5, 'vmax': 1.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-1.5, 1.5, 9) [climatologyMapWoaSalinityDeep] ## options related to plotting climatology maps of salinity ## at various levels, including the sea floor against control model results ## and WOA18 climatological data # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 33.8, 'vmax': 35.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(33.8, 35.0, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9) [climatologyMapArgoTemperature] ## options related to plotting climatology maps of Global ## potential temperature at various levels against ## control model results and Roemmich-Gilson Argo Climatology # comparison grid(s) comparisonGrids = ['latlon'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN','JAS','JFM'] # list of depths in meters (positive up) at which to analyze, 'top' for the # sea surface. Argo data is only available above -2000 m depths = ['top', -25, -50, -100, -150, -200, -400, -800, -1500] # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 30.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 30., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-5., 5., 9) [climatologyMapArgoSalinity] ## options related to plotting climatology maps of Global ## salinity at various levels against ## control model results and the Roemmich-Gilson Argo Climatology # comparison grid(s) comparisonGrids = ['latlon'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN','JFM','JAS'] # list of depths in meters (positive up) at which to analyze, 'top' for the # sea surface. Argo data is only available above -2000 m depths = ['top', -25, -50, -100, -150, -200, -400, -600, -800, -1500] # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 30, 'vmax': 39.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(30.0, 39.0, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -1.5, 'vmax': 1.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-1.5, 1.5, 9) [climatologyMapSchmidtko] ## options related to plotting climatology maps of Antarctic fields at the ## seafloor and comparing them against data from Schmidtko et al. (2014) # comparison grid(s) # only the Antarctic really makes sense but lat-lon could technically work. comparisonGrids = ['antarctic'] # Months or seasons to plot (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN','JFM','JAS'] [climatologyMapSchmidtkoTemperature] ## options related to plotting climatology maps of potential temperature at the ## seafloor and comparing them against data from Schmidtko et al. (2014) # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2., 2., 9) [climatologyMapSchmidtkoSalinity] ## options related to plotting climatology maps of salinity at the ## seafloor and comparing them against data from Schmidtko et al. (2014) # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 33.8, 'vmax': 35.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(33.8, 35.0, 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9) [climatologyMapSchmidtkoPotentialDensity] ## options related to plotting climatology maps of potential density at the ## seafloor and comparing them against data from Schmidtko et al. (2014) # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1026.5, 1028., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) [transects] ## options related to the plotting of transects # Which upper x axes to display, if any, in addition to the distance along # the transect, which is displayed on the lower x axis. Use 'lat' to show # latitude, 'lon' to show longitude, 'both' to show both simultaneously, # or 'neither' to show neither. Use 'greatestExtent' to automatically determine # whether to display latitude or longitude based on which of the two spans a # greater extent (in degrees). Use 'strictlyMonotonic' to automatically # determine whether to display latitude or longitude based on which of the two # is strictly monotonic (if both are, latitude will be used; if neither are, # an error will be raised). Note that this option is not usually practical for # transects constructed from observations from cruises (e.g., WOCE transects), # as these tend to have small excursions that render them nonmonotonic, even # though they are nominally meridional or zonal transects. Use 'mostMonotonic' # to automatically determine whether to display latitude or longitude based on # which of the two is more monotonic (in terms of the difference between the # total number of degrees traversed and the net number of degrees traversed). # Use 'mostStepsInSameDirection' to automatically determine whether to display # latitude or longitude based on which has more steps in the same direction. # Use 'fewestDirectionChanges' to automatically determine whether to display # latitude or longitude based on which has fewer changes in direction. upperXAxes = greatestExtent # The approximate number of ticks to use on the upper x axis or axes numUpperTicks = 8 # The number of decimal places (to the right of the decimal point) to use # for values at upper axis ticks. This value can be adjusted (in concert # with numUpperTicks) to avoid problems with overlapping numbers along the # upper axis. upperXAxisTickLabelPrecision = 1 # Whether or not to compare fields on transects by displaying their contours # on a single pane plot. If True, this will be done; if False, the fields # and their difference will be displayed using a three panel plot. If there # is no reference field for comparison, then the model field will be displayed # in a single pane plot using contours only if this variable is True (with # the selection of contours governed by the contourLevels parameters in # config sections for specific types of transects); if False the model field # will be displayed as a heatmap (possibly also with contours) compareAsContoursOnSinglePlot = False # the line width to use for contours on heatmaps contourLineWidth = 1 # the line style to use for contours on heatmaps and for # contours of the model field on contour comparison plots contourLineStyle = solid # the line color to use for contours on heatmaps and for # contours of the model field on contour comparison plots contourLineColor = black # the line width to use for contours of the model field on contour comparison # plots mainContourLineWidth = 2 # the line width to use for observation or reference model contours in a # contour comparison plots comparisonContourLineWidth = 1 # the line style to use for contours of the reference field # on contour comparison plots comparisonContourLineStyle = solid # the line color to use for contours of the reference field # on contour comparison plots comparisonContourLineColor = red # whether or not to label contours on transect heatmaps labelContoursOnHeatmaps = False # whether or not to label contours on contour comparison plots labelContoursOnContourComparisonPlots = False # the precision to use for contour labels contourLabelPrecision = 1 [woceTransects] ## options related to plotting model vs. World Ocean Circulation Experiment ## (WOCE) transects. # Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN'] # The approximate horizontal resolution (in km) of each transect. Latitude/ # longitude between observation points will be subsampled at this interval. # Use 'obs' to indicate no subsampling. Use 'mpas' to indicate plotting of # model data on the native grid, in which case comparison with observations # will take place on the observation grid. #horizontalResolution = mpas #horizontalResolution = obs horizontalResolution = 5 # Horizontal bounds of the plot (in km), or an empty list for automatic bounds # The bounds are a 2-element list of the minimum and maximum distance along the # transect. Note: A21=Drake Passage; A23=South Atlantic; A12=Prime Meridian horizontalBounds = {'WOCE_A21': [], 'WOCE_A23': [], 'WOCE_A12': []} # The name of the vertical comparison grid. Valid values are 'mpas' for the # MPAS vertical grid, 'obs' to use the locations of observations or # any other name if the vertical grid is defined by 'verticalComparisonGrid'. # If horizontalResolution is 'mpas', model data (both main and control) will be # plotted on the MPAS vertical grid, regardless of the comparison grid. #verticalComparisonGridName = mpas #verticalComparisonGridName = obs verticalComparisonGridName = uniform_0_to_4000m_at_10m # The vertical comparison grid if 'verticalComparisonGridName' is not 'mpas' or # 'obs'. This should be numpy array of (typically negative) elevations (in m). # The first and last entries are used as axis bounds for 'mpas' and 'obs' # vertical comparison grids verticalComparisonGrid = numpy.linspace(0, -4000, 401) # A range for the y axis (if any) verticalBounds = [] # The minimum weight of a destination cell after remapping. Any cell with # weights lower than this threshold will therefore be masked out. renormalizationThreshold = 0.01 [woceTemperatureTransects] ## options related to plotting WOCE transects of potential temperature # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap (linear, log, or symLog) normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0.0, 'vmax': 18.0} # color indices into colormapName for filled contours #colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries #colorbarLevelsResult = [0, 1, 2, 3, 4, 6, 8, 10, 14, 18] # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(0.0, 18.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(1.0, 18.0, 2.0) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap (linear, log, or symLog) normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2.0, 'vmax': 2.0} # color indices into colormapName for filled contours #colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries #colorbarLevelsDifference = [-2, -1.5, -1.25, -1, -0.2, 0, 0.2, 1, 1.25, 1.5, 2] # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2.0, 2.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-1.8, 2.0, 0.4) [woceSalinityTransects] ## options related to plotting WOCE transects of salinity # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap (linear, log, or symLog) normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 33.0, 'vmax': 36.0} # color indices into colormapName for filled contours #colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries #colorbarLevelsResult = [33, 34, 34.25, 34.5, 34.6, 34.7, 34.8, 34.9, 35, 36] # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(33.0, 36.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = np.arange(33.3, 36.0, 0.3) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap (linear, log, or symLog) normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -1.0, 'vmax': 1.0} # color indices into colormapName for filled contours #colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries #colorbarLevelsDifference = [-1, -0.5, -0.2, -0.05, -0.02, 0, 0.02, 0.05, 0.2, 0.5, 1] # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-1.0, 1.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = np.arange(-0.9, 1.0, 0.4) [wocePotentialDensityTransects] ## options related to plotting geojson transects of potential density # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1026., 1028., 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [wocePotentialDensityContourTransects] ## options related to plotting WOCE transects with potential density contours # Whether to plot the transect as a single contour plot, as opposed to separate # panels for model, reference and difference. compareAsContoursOnSinglePlot = True contourLevelsResult = [1027.2, 1027.4, 1027.6, 1027.7, 1027.8, 1027.85, 1027.9, 1027.95, 1028.0] [geojsonTransects] ## options related to plotting model transects at points determined by a ## geojson file. To generate your own geojson file, go to: ## http://geojson.io/ ## and draw one or more polylines, then add a name to each: ## ## "properties": { ## "name": "My Favorite Name" ## }, ## and save the file as GeoJSON (say transects.geojson). Finally, set the ## option: ## geojsonFiles = ['transects.geojson'] ## (giving an absolute path if necessary) in your custom config file. # a list of geojson files containing lat/lon points in LineStrings to be # plotted. If relative paths are given, they are relative to the current # working directory. The files must be listed in quotes, e.g.: # geojsonFiles = ['file1.geojson', '/path/to/file2.geojson'] geojsonFiles = [] # a list of dictionaries for each field to plot. The dictionary includes # prefix (used for file names, task names and sections) as well as the mpas # name of the field, units for colorbars and a the name as it should appear # in figure titles and captions. fields = [{'prefix': 'temperature', 'mpas': 'timeMonthly_avg_activeTracers_temperature', 'units': r'$$\degree$$C', 'titleName': 'Potential Temperature'}, {'prefix': 'salinity', 'mpas': 'timeMonthly_avg_activeTracers_salinity', 'units': r'PSU', 'titleName': 'Salinity'}, {'prefix': 'potentialDensity', 'mpas': 'timeMonthly_avg_potentialDensity', 'units': r'kg m$$^{-3}$$', 'titleName': 'Potential Density'}, {'prefix': 'zonalVelocity', 'mpas': 'timeMonthly_avg_velocityZonal', 'units': r'm s$$^{-1}$$', 'titleName': 'Zonal Velocity'}, {'prefix': 'meridionalVelocity', 'mpas': 'timeMonthly_avg_velocityMeridional', 'units': r'm s$$^{-1}$$', 'titleName': 'Meridional Velocity'}] # Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN'] # The approximate horizontal resolution (in km) of each transect. Latitude/ # longitude between observation points will be subsampled at this interval. # Use 'obs' to indicate no subsampling. Use 'mpas' to indicate plotting of # model data on the native grid. #horizontalResolution = mpas #horizontalResolution = obs horizontalResolution = 5 # The name of the vertical comparison grid. Valid values are 'mpas' for the # MPAS vertical grid or any other name if the vertical grid is defined by # 'verticalComparisonGrid' #verticalComparisonGridName = mpas verticalComparisonGridName = uniform_0_to_4000m_at_10m # The vertical comparison grid if 'verticalComparisonGridName' is not 'mpas'. # This should be numpy array of (typically negative) elevations (in m). # The first and last entries are used as axis bounds for 'mpas' vertical # comparison grids verticalComparisonGrid = numpy.linspace(0, -4000, 401) # A range for the y axis (if any) verticalBounds = [] # The minimum weight of a destination cell after remapping. Any cell with # weights lower than this threshold will therefore be masked out. renormalizationThreshold = 0.01 [geojsonTemperatureTransects] ## options related to plotting geojson transects of potential temperature # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 30.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2., 'vmax': 2.} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2., 2., 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [geojsonSalinityTransects] ## options related to plotting geojson transects of salinity # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 30, 'vmax': 39.0} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(34.2, 35.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [geojsonPotentialDensityTransects] ## options related to plotting geojson transects of potential density # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1026., 1028., 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [geojsonZonalVelocityTransects] ## options related to plotting geojson transects of zonal velocity # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [geojsonMeridionalVelocityTransects] ## options related to plotting geojson transects of meridional velocity # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsResult = [] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevelsDifference = [] [soseTransects] ## options related to plotting model vs. Southern Ocean State Estimate (SOSE) ## transects. # Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN', 'JFM', 'JAS'] # The approximate horizontal resolution (in km) of each transect. Latitude/ # longitude between observation points will be subsampled at this interval. # Use 'obs' to indicate no subsampling. Use 'mpas' to indicate plotting of # model data on the native grid, in which case comparison with observations # will take place on the observation grid. #horizontalResolution = mpas #horizontalResolution = obs horizontalResolution = 5 # The name of the vertical comparison grid. Valid values are 'mpas' for the # MPAS vertical grid, 'obs' to use the locations of observations or # any other name if the vertical grid is defined by 'verticalComparisonGrid' #verticalComparisonGridName = mpas #verticalComparisonGridName = obs verticalComparisonGridName = uniform_10_to_1500m_at_10m # The vertical comparison grid if 'verticalComparisonGridName' is not 'mpas' or # 'obs'. This should be numpy array of (typically negative) elevations (in m). # The first and last entries are used as axis bounds for 'mpas' and 'obs' # vertical comparison grids verticalComparisonGrid = numpy.linspace(-10, -1500, 150) # A range for the y axis (if any) verticalBounds = [] # The minimum weight of a destination cell after remapping. Any cell with # weights lower than this threshold will therefore be masked out. renormalizationThreshold = 0.01 # min and max latitude of transects minLat = -80 maxLat = -60 # longitudes of transects # Default transects are at Filchner, Bellingshausen Sea, Thwaites, Ross, Totten, # Amery, Fimbul longitudes = [318., 280., 253., 187., 117., 75., 0.] # a list of fields top plot for each transect. All supported fields are listed # below except 'potentialDensityContour', which is not plotted by default. # Note that 'velocityMagnitude' cannot be plotted without 'zonalVelocity' and # 'meridionalVelocity' because the components are needed to compute the # magnitude. fieldList = ['temperature', 'salinity', 'potentialDensity', 'zonalVelocity', 'meridionalVelocity', 'velocityMagnitude'] [soseTemperatureTransects] ## options related to plotting SOSE transects of potential temperature # colormap for model/observations colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2.0, 'vmax': 2.0} # color indices into colormapName for filled contours #colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries #colorbarLevelsResult = [0, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5, 6] # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(0.0, 6.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = np.arange(0.5, 6.0, 1.0) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -2.0, 'vmax': 2.0} # color indices into colormapName for filled contours #colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries #colorbarLevelsDifference = [-2, -1.5, -1.25, -1, -0.2, 0, 0.2, 1, 1.25, 1.5, 2] # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-2.0, 2.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = np.arange(-1.8, 2.0, 0.4) contourLevelsDifference = 'none' [soseSalinityTransects] ## options related to plotting SOSE transects of salinity # colormap for model/observations colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 33.8, 'vmax': 35.0} # color indices into colormapName for filled contours #colormapIndicesResult = [0, 40, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries #colorbarLevelsResult = [34, 34.3, 34.5, 34.65, 34.675, 34.7, 34.725, 34.75, 34.8, 35] # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(34.0, 35.0, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = np.arange(34.1, 35.0, 0.1) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # color indices into colormapName for filled contours #colormapIndicesDifference = [0, 28, 57, 85, 113, 128, 128, 142, 170, 198, 227, 255] # colormap levels/values for contour boundaries #colorbarLevelsDifference = [-0.5, -0.2, -0.1, -0.05, -0.02, 0, 0.02, 0.05, 0.1, 0.2, 0.5] # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.5, 0.5, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = numpy.linspace(-0.6, 0.6, 9) contourLevelsDifference = 'none' [sosePotentialDensityTransects] ## options related to plotting SOSE transects of potential density # colormap for model/observations colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(1026., 1028., 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = numpy.linspace(1026.5, 1028., 7) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # place the ticks automatically by default # colorbarTicksDifference = numpy.linspace(-0.3, 0.3, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = numpy.linspace(-0.3, 0.3, 9) contourLevelsDifference = 'none' [soseZonalVelocityTransects] ## options related to plotting SOSE transects of zonal velocity # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = numpy.linspace(-0.2, 0.2, 9) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = numpy.linspace(-0.2, 0.2, 9) contourLevelsDifference = 'none' [soseMeridionalVelocityTransects] ## options related to plotting SOSE transects of meridional velocity # colormap for model/observations colormapNameResult = delta # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = numpy.linspace(-0.2, 0.2, 9) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = numpy.linspace(-0.2, 0.2, 9) contourLevelsDifference = 'none' [soseVelocityMagnitudeTransects] ## options related to plotting SOSE transects of velocity magnitude # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksResult = numpy.linspace(0, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsResult = numpy.linspace(0, 0.2, 9) contourLevelsResult = 'none' # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} # determine the ticks automatically by default, uncomment to specify # colorbarTicksDifference = numpy.linspace(-0.2, 0.2, 9) # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) #contourLevelsDifference = numpy.linspace(-0.2, 0.2, 9) contourLevelsDifference = 'none' [sosePotentialDensityContourTransects] ## options related to plotting SOSE transects of potential density # Whether to plot the transect as a single contour plot, as opposed to separate # panels for model, reference and difference. compareAsContoursOnSinglePlot = True contourLevelsResult = [1027.2, 1027.4, 1027.6, 1027.7, 1027.8, 1027.85, 1027.9, 1027.95, 1028.0] [climatologyMapBGC] ## options related to plotting climatology mpas of BGC # Variables to plot: # pH : 'pH_3D' # DIC : 'DIC' # ALK : 'ALK' # PO4 : 'PO4' # NO3 : 'NO3' # SiO3 : 'SiO3' # CO2 flux : 'CO2_gas_flux' # O2 : 'O2' variables = ['PO4', 'NO3', 'SiO3', 'CO2_gas_flux', 'pH_3D', 'DIC', 'ALK', 'O2', 'pCO2surface', 'Chl'] # Times for comparison times (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, # Nov, Dec, JFM, AMJ, JAS, OND, ANN) seasons = ['ANN', 'JFM', 'JAS'] # comparison grid(s) on which to plot analysis comparisonGrids = ['latlon', 'antarctic'] # Whether to compare to preindustrial observations that are available. preindustrial = False [climatologyMapBGC_PO4] # Colormap for climatology colormapNameResult = dense # whether the colormap is indexed or continuous colormapTypeResult = continuous # Colormap for clim - obs difference colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # linear vs. log scaling for climatology normTypeResult = linear # Colorbar bounds for climatology normArgsResult = {'vmin': 0, 'vmax': 2.5} # linear vs. log scaling for obs normTypeDifference = linear # Colorbar bounds for obs normArgsDifference = {'vmin': -1, 'vmax': 1} # BGC property units units = mmol m$$^{-3}$$ # Prefix to variable name in MPAS-O output filePrefix = timeMonthly_avg_ecosysTracers_ # Acronym/label for observational dataset observationsLabel = WOA # Acronym/label for gallery variable (can be different from MPAS name) galleryLabel = PO4 [climatologyMapBGC_NO3] colormapNameResult = dense colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 0, 'vmax': 35.0} normTypeDifference = linear normArgsDifference = {'vmin': -10, 'vmax': 10} units = mmol m$$^{-3}$$ filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = WOA galleryLabel = NO3 [climatologyMapBGC_SiO3] colormapNameResult = dense colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 0, 'vmax': 80} normTypeDifference = linear normArgsDifference = {'vmin': -20, 'vmax': 20} units = mmol m$$^{-3}$$ filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = WOA galleryLabel = SiO3 [climatologyMapBGC_CO2_gas_flux] colormapNameResult = BrBG_r colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': -5, 'vmax': 5} normTypeDifference = linear normArgsDifference = {'vmin': -5, 'vmax': 5} units = mol m$$^{-2}$$ yr$$^{-1}$$ filePrefix = timeMonthly_avg_ observationsLabel = SOM-FFNv2016 galleryLabel = CO2 Flux [climatologyMapBGC_O2] colormapNameResult = matter colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 2, 'vmax': 8} normTypeDifference = linear normArgsDifference = {'vmin': -2, 'vmax': 2} units = mL/L filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = WOA galleryLabel = O2 [climatologyMapBGC_pH_3D] colormapNameResult = PuBuGn_r colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 8, 'vmax': 8.2} normTypeDifference = linear normArgsDifference = {'vmin': -0.2, 'vmax': 0.2} units = filePrefix = timeMonthly_avg_ecosys_diag_ observationsLabel = GLODAPv2 galleryLabel = pH [climatologyMapBGC_DIC] colormapNameResult = YlGnBu colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 1900, 'vmax': 2300} normTypeDifference = linear normArgsDifference = {'vmin': -100, 'vmax': 100} units = mmol m$$^{-3}$$ filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = GLODAPv2 galleryLabel = DIC [climatologyMapBGC_ALK] colormapNameResult = PuBuGn colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 2150, 'vmax': 2450} normTypeDifference = linear normArgsDifference = {'vmin': -100, 'vmax': 100} units = meq m$$^{-3}$$ filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = GLODAPv2 galleryLabel = Alkalinity [climatologyMapBGC_pCO2surface] colormapNameResult = viridis colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = linear normArgsResult = {'vmin': 300, 'vmax': 450} normTypeDifference = linear normArgsDifference = {'vmin': -50, 'vmax': 50} units = $$\mu$$atm filePrefix = timeMonthly_avg_ecosys_diag_ observationsLabel = SOM-FFNv2016 galleryLabel = pCO2 [climatologyMapBGC_Chl] colormapNameResult = viridis colormapTypeResult = continuous colormapNameDifference = balance colormapTypeDifference = continuous normTypeResult = log normArgsResult = {'vmin': 0.01, 'vmax': 20} normTypeDifference = symLog normArgsDifference = {'linthresh': 0.1, 'vmin': -10, 'vmax': 10} units = mg m$$^{-3}$$ filePrefix = timeMonthly_avg_ecosysTracers_ observationsLabel = SeaWIFS galleryLabel = Chlorophyll [oceanHistogram] ## options related to plotting histograms of climatologies of 2-d ocean ## variables # list of variables to plot variableList = [] # list of observations to compare against obsList = ['AVISO'] # list of ocean variables by which to weight variables in variable list weightList = [] # list of regions to plot from the region list in [regions] below regionGroups = ['Ocean Basins'] # list of region names within the region group listed above regionNames = [] # Seasons to conduct analysis over # Note: start and end year will be inherited from climatology section seasons = ['ANN'] # Number of histogram bins bins = 40 [oceanRegionalProfiles] ## options related to plotting vertical profiles of regional means (and ## variability) of 3D MPAS fields # The name of a region group defining the region for each profile regionGroups = ['Ocean Basins'] [profilesOceanBasins] ## options related to plotting vertical profiles ocean basins # a list of dictionaries for each field to plot. The dictionary includes # prefix (used for file names, task names and sections) as well as the mpas # name of the field, units for colorbars and a the name as it should appear # in figure titles and captions. fields = [{'prefix': 'potentialTemperature', 'mpas': 'timeMonthly_avg_activeTracers_temperature', 'units': r'$$\degree$$C', 'titleName': 'Potential Temperature'}, {'prefix': 'salinity', 'mpas': 'timeMonthly_avg_activeTracers_salinity', 'units': r'PSU', 'titleName': 'Salinity'}, {'prefix': 'potentialDensity', 'mpas': 'timeMonthly_avg_potentialDensity', 'units': r'kg m$$^{-3}$$', 'titleName': 'Potential Density'}] # 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'] # minimum and maximum depth of profile plots, or empty for the full depth range depthRange = [] # a list of region names from the region masks file to plot regionNames = ["Atlantic_Basin", "Pacific_Basin", "Indian_Basin", "Arctic_Basin", "Southern_Ocean_Basin", "Mediterranean_Basin", "Global Ocean", "Global Ocean 65N to 65S", "Global Ocean 15S to 15N"] # web gallery options profileGalleryGroup = Ocean Basin Profiles [hovmollerOceanRegions] ## options related to plotting Hovmoller diagrams (depth vs. time plots) of ## regional means of 3D MPAS fields # the names of region groups to plot, each with its own section below regionGroups = ['Ocean Basins'] [hovmollerOceanBasins] ## options related to plotting Hovmoller diagrams of ocean basins # a list of dictionaries for each field to plot. The dictionary includes # prefix (used for file names, task names and sections) as well as the MPAS # name of the field, units for colorbars and a the name as it should appear # in figure titles and captions. fields = [{'prefix': 'potentialTemperature', 'mpas': 'timeMonthly_avg_activeTracers_temperature', 'units': r'$$\degree$$C', 'titleName': 'Potential Temperature'}, {'prefix': 'salinity', 'mpas': 'timeMonthly_avg_activeTracers_salinity', 'units': r'PSU', 'titleName': 'Salinity'}, {'prefix': 'potentialDensity', 'mpas': 'timeMonthly_avg_potentialDensity', 'units': r'kg m$$^{-3}$$', 'titleName': 'Potential Density'}] # a list of region names from the region masks file to plot regionNames = ["Atlantic_Basin", "Pacific_Basin", "Indian_Basin", "Arctic_Basin", "Southern_Ocean_Basin", "Mediterranean_Basin", "Global Ocean", "Global Ocean 65N to 65S", "Global Ocean 15S to 15N"] # whether to compute an anomaly with respect to the start of the time series computeAnomaly = False # 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 [hovmollerOceanRegionsPotentialTemperature] ## options related to plotting time series of temperature vs. depth in ocean ## regions # colormap colormapNameResult = RdYlBu_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': -2., 'vmax': 30.} # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -5., 'vmax': 5.} # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevels = 'none' # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # limits on depth, the full range by default # yLim = [-6000., 0.] [hovmollerOceanRegionsSalinity] ## options related to plotting time series of salinity vs. depth in ocean ## regions # colormap colormapNameResult = haline # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 30, 'vmax': 39.0} # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.5, 'vmax': 0.5} # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevels = 'none' # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # limits on depth, the full range by default # yLim = [-6000., 0.] [hovmollerOceanRegionsPotentialDensity] ## options related to plotting time series of potential density vs. depth in ## ocean regions # colormap colormapNameResult = Spectral_r # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 1026.5, 'vmax': 1028.} # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -0.3, 'vmax': 0.3} # contour line levels (use [] for automatic contour selection, 'none' for no # contour lines) contourLevels = 'none' # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # limits on depth, the full range by default # yLim = [-6000., 0.] [climatologyMapSeaIceConcNH] ## options related to plotting horizontally remapped climatologies of ## sea ice concentration against control model results and observations ## in the northern hemisphere (NH) # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [20, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [0.15, 0.3, 0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 32, 64, 96, 112, 128, 128, 144, 160, 192, 224, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-1., -0.8, -0.6, -0.4, -0.2, -0.1, 0, 0.1, 0.2, 0.4, 0.6, 0.8, 1.] # Months or seasons to plot (These should be left unchanged, since # observations are only available for these seasons) seasons = ['JFM', 'JAS'] # comparison grid(s) (typically 'arctic_extended') on which to plot analysis comparisonGrids = ['arctic_extended'] # a list of prefixes describing the sources of the observations to be used observationPrefixes = ['NASATeam', 'Bootstrap'] # arrange subplots vertically? vertical = False # the minimum threshold below which concentration is masked out minConcentration = 0.15 # observations files concentrationNASATeamNH_JFM = SSMI/NASATeam_NSIDC0051/SSMI_NASATeam_gridded_concentration_NH_jfm.interp0.5x0.5_20180710.nc concentrationNASATeamNH_JAS = SSMI/NASATeam_NSIDC0051/SSMI_NASATeam_gridded_concentration_NH_jas.interp0.5x0.5_20180710.nc concentrationBootstrapNH_JFM = SSMI/Bootstrap_NSIDC0079/SSMI_Bootstrap_gridded_concentration_NH_jfm.interp0.5x0.5_20180710.nc concentrationBootstrapNH_JAS = SSMI/Bootstrap_NSIDC0079/SSMI_Bootstrap_gridded_concentration_NH_jas.interp0.5x0.5_20180710.nc [climatologyMapSeaIceConcSH] ## options related to plotting horizontally remapped climatologies of ## sea ice concentration against control model results and observations ## in the southern hemisphere (SH) # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [20, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [0.15, 0.3, 0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 32, 64, 96, 112, 128, 128, 144, 160, 192, 224, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-1., -0.8, -0.6, -0.4, -0.2, -0.1, 0, 0.1, 0.2, 0.4, 0.6, 0.8, 1.] # Months or seasons to plot (These should be left unchanged, since # observations are only available for these seasons) seasons = ['DJF', 'JJA'] # comparison grid(s) (typically 'antarctic_extended') on which to plot analysis comparisonGrids = ['antarctic_extended'] # a list of prefixes describing the sources of the observations to be used observationPrefixes = ['NASATeam', 'Bootstrap'] # arrange subplots vertically? vertical = False # the minimum threshold below which concentration is masked out minConcentration = 0.15 # observations files concentrationNASATeamSH_DJF = SSMI/NASATeam_NSIDC0051/SSMI_NASATeam_gridded_concentration_SH_djf.interp0.5x0.5_20180710.nc concentrationNASATeamSH_JJA = SSMI/NASATeam_NSIDC0051/SSMI_NASATeam_gridded_concentration_SH_jja.interp0.5x0.5_20180710.nc concentrationBootstrapSH_DJF = SSMI/Bootstrap_NSIDC0079/SSMI_Bootstrap_gridded_concentration_SH_djf.interp0.5x0.5_20180710.nc concentrationBootstrapSH_JJA = SSMI/Bootstrap_NSIDC0079/SSMI_Bootstrap_gridded_concentration_SH_jja.interp0.5x0.5_20180710.nc [climatologyMapSeaIceThickNH] ## options related to plotting horizontally remapped climatologies of ## sea ice thickness against control model results and observations ## in the northern hemisphere (NH) # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [20, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [0, 0.25, 0.5, 1, 1.5, 2, 2.5, 3, 3.5] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 32, 64, 96, 128, 128, 160, 192, 224, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-3., -2.5, -2, -0.5, -0.1, 0, 0.1, 0.5, 2, 2.5, 3.] # Months or seasons to plot (These should be left unchanged, since # observations are only available for these seasons) seasons = ['FM', 'ON'] # comparison grid(s) (typically 'arctic_extended') on which to plot analysis comparisonGrids = ['arctic_extended'] # a list of prefixes describing the sources of the observations to be used observationPrefixes = [''] # arrange subplots vertically? vertical = False # observations files thicknessNH_ON = ICESat/ICESat_gridded_mean_thickness_NH_on.interp0.5x0.5_20180710.nc thicknessNH_FM = ICESat/ICESat_gridded_mean_thickness_NH_fm.interp0.5x0.5_20180710.nc [climatologyMapSeaIceThickSH] ## options related to plotting horizontally remapped climatologies of ## sea ice thickness against control model results and observations ## in the southern hemisphere (SH) # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = indexed # color indices into colormapName for filled contours colormapIndicesResult = [20, 80, 110, 140, 170, 200, 230, 255] # colormap levels/values for contour boundaries colorbarLevelsResult = [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2, 2.5] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = indexed # color indices into colormapName for filled contours colormapIndicesDifference = [0, 32, 64, 96, 128, 128, 160, 192, 224, 255] # colormap levels/values for contour boundaries colorbarLevelsDifference = [-3., -2.5, -2, -0.5, -0.1, 0, 0.1, 0.5, 2, 2.5, 3.] # Months or seasons to plot (These should be left unchanged, since # observations are only available for these seasons) seasons = ['FM', 'ON'] # comparison grid(s) (typically 'antarctic_extended') on which to plot analysis comparisonGrids = ['antarctic_extended'] # a list of prefixes describing the sources of the observations to be used observationPrefixes = [''] # arrange subplots vertically? vertical = False # observations files thicknessSH_ON = ICESat/ICESat_gridded_mean_thickness_SH_on.interp0.5x0.5_20180710.nc thicknessSH_FM = ICESat/ICESat_gridded_mean_thickness_SH_fm.interp0.5x0.5_20180710.nc [climatologyMapIcebergConcSH] # options related to plotting horizontally remapped climatologies of # iceberg concentration against control model results and observations # in the southern hemisphere (SH) # colormap for model/observations colormapNameResult = ice # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = log # A dictionary with keywords for the norm normArgsResult = {'vmin': 1e-5, 'vmax': 1e-2} # specify the ticks # colorbarTicksResult = [1e-5, 1e-4, 1e-3, 1e-2] # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = symLog # A dictionary with keywords for the norm normArgsDifference = {'linthresh': 1e-5, 'linscale': 1, 'vmin': -1e-2, 'vmax': 1e-2} # Times for comparison times seasons = ['ANN', 'DJF', 'JJA'] # comparison grid(s) (typically 'antarctic_extended') on which to plot analysis comparisonGrids = ['antarctic_extended'] # reference lat/lon for sea ice plots in the northern hemisphere minimumLatitude = -50 referenceLongitude = 180 # arrange subplots vertically? vertical = False [timeSeriesSeaIceAreaVol] ## options related to plotting time series of sea ice area and volume # compare to observations? compareWithObservations = True # 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 = 1 # title font properties titleFontSize = 18 # plot on polar plot polarPlot = False # An optional first year for the tick marks on the x axis. Leave commented out # to start at the beginning of the time series. # firstYearXTicks = 1 # An optional number of years between tick marks on the x axis. Leave # commented out to determine the distance between ticks automatically. # yearStrideXTicks = 1 # observations files areaNH = IceArea_timeseries/iceAreaNH_climo_20180710.nc areaSH = IceArea_timeseries/iceAreaSH_climo_20180710.nc volNH = PIOMAS/PIOMASvolume_monthly_climo_20180710.nc volSH = none [climatologyMapSeaIceProductionNH] # options related to plotting horizontally remapped climatologies of # sea ice production against control model results and observations # in the northern hemisphere (NH) # colormap for model/observations colormapNameResult = dense # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -3., 'vmax': 3.} # place the ticks automatically by default colorbarTicksDifference = [-3, -2, -1, 0, 1, 2, 3] # Times for comparison times seasons = ['ANN', 'DJF', 'JJA'] # comparison grid(s) (typically 'arctic_extended') on which to plot analysis comparisonGrids = ['arctic_extended'] # reference lat/lon for sea ice plots in the northern hemisphere minimumLatitude = 50 referenceLongitude = 0 # arrange subplots vertically? vertical = False [climatologyMapSeaIceProductionSH] # options related to plotting horizontally remapped climatologies of # sea ice production against control model results and observations # in the southern hemisphere (SH) # colormap for model/observations colormapNameResult = dense # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -3., 'vmax': 3.} # place the ticks automatically by default colorbarTicksDifference = [-3, -2, -1, 0, 1, 2, 3] # Times for comparison times seasons = ['ANN', 'DJF', 'JJA'] # comparison grid(s) (typically 'antarctic_extended') on which to plot analysis comparisonGrids = ['antarctic_extended'] # reference lat/lon for sea ice plots in the northern hemisphere minimumLatitude = -50 referenceLongitude = 180 # arrange subplots vertically? vertical = False # observations files productionSH = AnIceFlux/aniceflux_v01_clim_mean_1982-2008.nc [climatologyMapSeaIceMeltingNH] # options related to plotting horizontally remapped climatologies of # sea ice melting against control model results and observations # in the northern hemisphere (NH) # colormap for model/observations colormapNameResult = amp # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -3., 'vmax': 3.} # place the ticks automatically by default colorbarTicksDifference = [-3, -2, -1, 0, 1, 2, 3] # Times for comparison times seasons = ['ANN', 'DJF', 'JJA'] # comparison grid(s) (typically 'arctic_extended') on which to plot analysis comparisonGrids = ['arctic_extended'] # reference lat/lon for sea ice plots in the northern hemisphere minimumLatitude = 50 referenceLongitude = 0 # arrange subplots vertically? vertical = False [climatologyMapSeaIceMeltingSH] # options related to plotting horizontally remapped climatologies of # sea ice melting against control model results and observations # in the southern hemisphere (SH) # colormap for model/observations colormapNameResult = amp # whether the colormap is indexed or continuous colormapTypeResult = continuous # the type of norm used in the colormap normTypeResult = linear # A dictionary with keywords for the norm normArgsResult = {'vmin': 0., 'vmax': 5.} # place the ticks automatically by default # colorbarTicksResult = numpy.linspace(-2., 2., 9) # colormap for differences colormapNameDifference = balance # whether the colormap is indexed or continuous colormapTypeDifference = continuous # the type of norm used in the colormap normTypeDifference = linear # A dictionary with keywords for the norm normArgsDifference = {'vmin': -3., 'vmax': 3.} # place the ticks automatically by default colorbarTicksDifference = [-3, -2, -1, 0, 1, 2, 3] # Times for comparison times seasons = ['ANN', 'DJF', 'JJA'] # comparison grid(s) (typically 'antarctic_extended') on which to plot analysis comparisonGrids = ['antarctic_extended'] # reference lat/lon for sea ice plots in the northern hemisphere minimumLatitude = -50 referenceLongitude = 180 # arrange subplots vertically? vertical = False # observations files meltingSH = AnIceFlux/aniceflux_v01_clim_mean_1982-2008.nc