Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: ILAMB will end up in a different directory if a different short_name is used #594

Open
forsyth2 opened this issue May 4, 2024 · 0 comments
Labels
semver: bug Bug fix (will increment patch version)

Comments

@forsyth2
Copy link
Collaborator

forsyth2 commented May 4, 2024

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 because short_name = "v3.LR.historical_0101".

Indeed, in https://github.com/E3SM-Project/zppy/blob/main/zppy/templates/ilamb.bash:

case="{{ case }}"
short="{{ short_name }}"
if [ $short != "" ]; then
    case=${short}
fi
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 jobs are failing?

No response

What stack trace are you encountering?

No response

@forsyth2 forsyth2 added the semver: bug Bug fix (will increment patch version) label May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: bug Bug fix (will increment patch version)
Projects
None yet
Development

No branches or pull requests

1 participant