web_dir=${www}/${case}/ilamb/{{ sub }}_${Y1}-${Y2}
That second block doesn't seem necessary.
What machine were you running on?
Perlmutter
Environment
zppy v2.5.0, E3SM Unified 1.10.0
What command did you run?
zppy -c extendedOutput.v3.LR.historical_0101.cfg
Copy your cfg file
# To view all possible parameters in zppy, view:
# https://docs.e3sm.org/zppy/_build/html/main/parameters.html > parameter defaults
# That brings you to the latest released default.ini file, which defines all
# the default values for the parameters.
# The cfg is hierarchical.
# E.g., parameters applied at the `[default]` level also apply at the `[climo]` level.
# Subtask values override task values, which override [default] values in the cfg, which override values defined in default.ini.
# WARNING: to run this yourself:
# 1. Change any paths with "forsyth" in them to your own path.
# 2. Uncomment the `account` and `reservation` parameters under `[default]`
[default]
# The account for the E3SM tutorial.
#account = "ntrain6"
# The case name of the simulation
case = "extendedOutput.v3.LR.historical_0101"
# Perlmutter has a couple possible constraints. We'll use "cpu".
constraint = "cpu"
# This is the input to zppy -- so, it's the *output* from the simulation!
input = "/global/cfs/cdirs/e3sm/www/Tutorials/2024/simulations/extendedOutput.v3.LR.historical_0101/"
# This is where zppy's output will go
# Importantly, you can easily post-process someone else's simulation without needing write permissions to their directory.
# Include the case here.
output = "/global/cfs/cdirs/e3sm/forsyth/E3SM-tutorial-v3/extendedOutput.v3.LR.historical_0101"
# NERSC's "Quality of Service". Options include "regular" and "debug".
# zppy chooses "regular" by default,
# but you may wish to use "debug" if you're submitting 5 or fewer jobs that run in under 30 minutes.
# For more info, see https://docs.nersc.gov/jobs/policy/#selecting-a-queue
# qos = "debug"
# The reservation for the E3SM tutorial.
#reservation = "e3sm_day3"
# (Overrides walltime "02:00:00" set in default.ini)
walltime = "00:30:00"
# This is the path for the visual output.
# This should be the machine's web server path.
# Don't include case here; zppy will add it.
www = "/global/cfs/cdirs/e3sm/www/forsyth/E3SM-tutorial-v3"
# This section defines what climatologies we want to generate.
# It uses the NCO package.
[climo]
# This tells zppy to actually run the [climo] task.
# This makes it easy to turn on/off tasks or subtasks without deleting blocks.
# (Overrides False in default.ini)
active = True
# For each subtask,
# this will produce 3 climatologies:
# 2000-2001
# 2002-2003
# We have 3 subtasks, so 6 climo jobs will launch.
years = "2000:2004:2",
[[ atm_monthly_180x360_aave ]]
# (Overrides "" set in default.ini)
mapping_file = map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
# These are the variables we should process.
# When vars = "", NCO will generate climatologies for ALL available variables.
vars = ""
[[ atm_monthly_diurnal_8xdaily_180x360_aave ]]
# This is the frequency of the data.
# (Overrides frequency "monthly" set in default.ini)
frequency = "diurnal_8xdaily"
# These are the files we should use as input.
# (Overrides input_files "eam.h0" set in default.ini)
input_files = "eam.h3" # input files for atmospheric (eam) daily (h4) data
mapping_file = map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
# (Overrdes vars "" set in default.ini's [climo] task)
vars = "PRECT" # Here, we're only interested in diurnal climatologies for PRECT.
[[ land_monthly_climo ]]
input_files = "elm.h0" # input files for land (elm) monthly (h0) data
# (Overrides input_subdir "archive/atm/hist" set in default.ini)
input_subdir = "archive/lnd/hist"
vars = ""
# This section defines what time series we want to generate.
# It uses the NCO package (and for some subtasks, also the e3sm_to_cmip package)
[ts]
active = True
# For each non-overridding subtask,
# this will produce 2 time series:
# 2000-2001
# 2002-2003
# We have 3 non-overriding subtasks, so 6 time series jobs will launch.
# We have 2 overriding subtask, which also produce 2 time series each.
# So, in total, this section will produce 10 jobs.
years = "2000:2004:2",
[[ atm_monthly_180x360_aave ]]
mapping_file = map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
# This tells zppy what format the time series should be generated in.
# (Overrides ts_fmt "ts_only" set in default.ini's [ts] task)
ts_fmt = "cmip" # This setting is what tells zppy to use the e3sm_to_cmip package.
[[ atm_daily_180x360_aave ]]
frequency = "daily"
input_files = "eam.h3"
mapping_file = map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
vars = "PRECT"
[[ atm_monthly_glb ]]
# Note global average won't work for 3D variables.
# Here, we override `mapping_file`
# (Overrides mapping_file set in this cfg's [default] section)
mapping_file = "glb"
# (Overrides years set in this cfg's [ts] task)
years = "2000:2010:5",
[[ land_monthly ]]
# Any extra variables that should be processed
# (Overrides extra_vars "" set in default.ini's [ts] section)
extra_vars = "landfrac" # This extra variable is needed to process the land variables we actually want.
input_files = "elm.h0"
input_subdir = "archive/lnd/hist"
mapping_file = map_r05_to_cmip6_180x360_aave.20231110.nc
# Don't include spaces in your variable lists.
vars = "LAISHA,LAISUN"
ts_fmt = "cmip"
[[ land_monthly_glb ]]
input_files = "elm.h0"
input_subdir = "archive/lnd/hist"
mapping_file = "glb"
vars = "LAISHA,LAISUN"
years = "2000:2010:5",
# This section defines what e3sm_diags results we want to generate.
# It uses the e3sm_diags package.
[e3sm_diags]
active = True
# The grid to use
# (Overrides grid "" set in default.ini)
grid = '180x360_aave'
# These are the specific sets from e3sm_diags that you want to run.
# (Overrides default list of sets set in default.ini's [e3sm_diags] task)
sets = "lat_lon","zonal_mean_xy","zonal_mean_2d","polar","cosp_histogram","meridional_mean_2d","enso_diags","qbo","diurnal_cycle","annual_cycle_zonal_mean","zonal_mean_2d_stratosphere",
# The name e3sm_diags uses for plot titles
short_name = "v3.LR.historical_0101"
# This is the number of years in the time series files.
# It should correspond to the lowest increment amount in the `[ts]` task.
# (Overrides ts_num_years "5" set in default.ini's [e3sm_diags] task)
ts_num_years = 2
# (Overrides walltime set in this cfg's [default] section)
walltime = "2:00:00"
years = "2000:2004:2",
# Model-vs-obs
[[ atm_monthly_180x360_aave ]]
# Name of the frequency from `[climo]` to use for "diurnal_cycle" runs
# This is important for accessing the correct files.
# (Overrides climo_diurnal_frequency "" set in default.ini's [e3sm_diags] task)
climo_diurnal_frequency = "diurnal_8xdaily"
# Name of the subsection of `[climo]` to use for "diurnal_cycle" runs
# This is important for setting the correct job dependency chain.
# Since subtask names are customizable, zppy needs some way of knowing which
# subtask it should use to generate the e3sm_diags results here.
# Other such subsection parameters for e3sm_diags are:
# ts_, ts_daily_, climo_
# (Overrides climo_diurnal_subsection "" set in default.ini's [e3sm_diags task])
climo_diurnal_subsection = "atm_monthly_diurnal_8xdaily_180x360_aave"
# These are the reference years for the reference data (in this case, observations)
ref_final_yr = 2004
ref_start_yr = 2000
# This section defines what mpas_analysis results we want to generate.
# It uses the MPAS-Analysis package.
# This configuration produces 2 `mpas_analysis` jobs.
# ts_2000-2004_climo_2000-2004
# ts_2000-2010_climo_2005-2010
[mpas_analysis]
active = True
anomalyRefYear = 2000
climo_years ="2000-2004",
enso_years = "2000-2004",
mesh = "IcoswISC30E3r5"
parallelTaskCount = 6
ts_years = "2000-2004",
# (Overrides walltime "06:00:00" set in this cfg's [mpas_analysis] section)
walltime = "02:00:00"
# This section defines what global_time_series results we want to generate.
# There are 8 standard plots to display,
# but you can customize which plots to display.
[global_time_series]
active = True
# These need to match the `mpas_analysis` task
climo_years ="2000-2004",
experiment_name = "extendedOutput.v3.LR.historical_0101"
figstr = "v3.LR.historical_0101"
# These need to match the final ts_years range from the `mpas_analysis` task
moc_file=mocTimeSeries_2000-2004.nc
ts_num_years = 5
# These need to match the mpas_analysis task
ts_years = "2000-2004",
years = "2000-2004",
# This section defines what mpas_analysis results we want to generate.
# It uses the ILAMB package.
[ilamb]
active = True
grid = "180x360_aave"
nodes = 8
short_name = "v3.LR.historical_0101"
ts_num_years = 2
years = "2000:2004:2",
What happened?
https://portal.nersc.gov/cfs/e3sm/forsyth/E3SM-tutorial-v3/extendedOutput.v3.LR.historical_0101/ contained visual output for
e3sm_diags
,global_time_series
,mpas_analysis
, but ILAMB was not found despite completing successfully. It turns out the output was in https://portal.nersc.gov/cfs/e3sm/forsyth/E3SM-tutorial-v3/v3.LR.historical_0101/. This appears to be becauseshort_name = "v3.LR.historical_0101"
.Indeed, in https://github.com/E3SM-Project/zppy/blob/main/zppy/templates/ilamb.bash:
That second block doesn't seem necessary.
What machine were you running on?
Perlmutter
Environment
zppy v2.5.0, E3SM Unified 1.10.0
What command did you run?
Copy your cfg file
What jobs are failing?
No response
What stack trace are you encountering?
No response