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

Add support for cryosphere campaign #144

Merged
merged 2 commits into from
Oct 14, 2021

Conversation

xylar
Copy link
Contributor

@xylar xylar commented Oct 6, 2021

This includes a new cryosphere config file in the templates and a special --polar_regions flag for MPAS-Analysis. The new flag will only be supported for MPAS-Analysis >= 1.5.0 (not yet released), so it will require an update of E3SM-Unified to work correctly.

@xylar xylar added semver: new feature New feature (will increment minor version) for next version labels Oct 6, 2021
@xylar xylar requested a review from forsyth2 October 6, 2021 22:29
@xylar
Copy link
Contributor Author

xylar commented Oct 6, 2021

This requires #143 so I will rebase once that goes in.

@xylar
Copy link
Contributor Author

xylar commented Oct 6, 2021

Testing

Did a test run of zppy with a test build of E3SM-Unified 1.5.1 using the following config file:

$ cat test.cfg 
[default]
input = /lcrc/group/acme/ac.dcomeau/scratch/chrys/20210713.CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes.chrysalis
output = /lcrc/group/e3sm/ac.xylar/test_zppy/test_20211006/cryo4/20210713.CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes.chrysalis
case = 20210713.CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes.chrysalis
www = /lcrc/group/e3sm/public_html/diagnostic_output/ac.xylar/test_zppy/add_cryo/cryo4/CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes
partition = debug
environment_commands = "source /lcrc/soft/climate/e3sm-unified/test_e3sm_unified_1.5.1_chrysalis.sh"
campaign = "cryosphere"

[climo]
active = True
years = "11:20:10",
mapping_file = /home/ac.zender/data/maps/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc

  [[ atm_monthly_180x360_aave ]]
  input_subdir = "run"
  frequency = "monthly"

  [[ atm_monthly_diurnal_8xdaily_180x360_aave ]]
  input_subdir = "run"
  input_files = "eam.h4"
  vars = "PRECT"
  frequency = "monthly_diurnal_8xdaily"

[ts]
active = True
years = "1:20:10",

  [[ atm_monthly_180x360_aave ]]
  input_subdir = "run"
  input_files = "eam.h0"
  frequency = "monthly"
  mapping_file = /home/ac.zender/data/maps/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
  # Use default vars

  [[ atm_monthly_glb ]]
  input_subdir = "run"
  input_files = "eam.h0"
  frequency = "monthly"
  mapping_file = "glb"
  # Use default vars

  [[ rof_monthly ]]
  input_subdir = "run"
  input_files = "mosart.h0"
  frequency = "monthly"
  mapping_file = ""
  vars = "RIVER_DISCHARGE_OVER_LAND_LIQ"
  extra_vars = 'areatotal2'

[e3sm_diags]
active = True
years = "11:20:10",
ts_num_years = 10
ref_start_yr = 1979
ref_final_yr = 2016

  [[ atm_monthly_180x360_aave ]]
  short_name = 'CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes'
  grid = '180x360_aave'
  reference_data_path = '/lcrc/soft/climate/e3sm_diags_data/obs_for_e3sm_diags/climatology'
  obs_ts = '/lcrc/soft/climate/e3sm_diags_data/obs_for_e3sm_diags/time-series'
  dc_obs_climo = '/lcrc/group/e3sm/public_html/e3sm_diags_test_data/unit_test_complete_run/obs/climatology'
  climo_diurnal_subsection = "atm_monthly_diurnal_8xdaily_180x360_aave"
  output_format_subplot = "pdf",
  streamflow_obs_ts = '/lcrc/group/e3sm/public_html/e3sm_diags_test_data/unit_test_complete_run/obs/time-series/'

[e3sm_diags_vs_model]
active = False

[amwg]
active = False

[mpas_analysis]
active = True
partition = compute
walltime = "6:00:00"
parallelTaskCount = 6
anomalyRefYear = 1
ts_years = "1-20",
enso_years = "1-20",
climo_years = "11-20",
mesh = "ECwISC30to60E2r1"

[global_time_series]
active = False
years = "1-20",
ts_num_years = 10
figstr= "CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes"
moc_file = "mocTimeSeries_0001-0020.nc"
experiment_name = "CRYO1850.ne30pg2_ECwISC30to60E2r1.IB_bugfixes"
ts_years = "1-20",
climo_years = "11-20",

MPAS-Analysis results

E3SM-Diags results -- I think...

@xylar xylar changed the title Add cryo config Add support for cryosphere campaign Oct 6, 2021
zppy/templates/cryosphere.cfg Outdated Show resolved Hide resolved
@xylar
Copy link
Contributor Author

xylar commented Oct 7, 2021

@forsyth2 and @tomvothecoder, I realize it's not really kosher to add a new feature after a release candidate has already been created. Would you be willing to make an exception for this feature? It's not critical. The more important thing is that zppy users can combine this feature with the latest E3SM-Unified release. They could use development zppy together with E3SM-Unified 1.5.1 if need be. But it would be a lot more convenient if they didn't have to.

@tomvothecoder
Copy link
Collaborator

@forsyth2 and @tomvothecoder, I realize it's not really kosher to add a new feature after a release candidate has already been created. Would you be willing to make an exception for this feature? It's not critical. The more important thing is that zppy users can combine this feature with the latest E3SM-Unified release. They could use development zppy together with E3SM-Unified 1.5.1 if need be. But it would be a lot more convenient if they didn't have to.

Sounds good with me, since the intent is to align this zppy feature with the latest E3SM-Unified and the changeset is small.

@xylar
Copy link
Contributor Author

xylar commented Oct 7, 2021

Thanks @tomvothecoder!

@forsyth2
Copy link
Collaborator

forsyth2 commented Oct 7, 2021

Would you be willing to make an exception for this feature?

Yes, I would like this to be in the next release candidate. Besides, I would argue this is an important extension of #138 anyway.

@forsyth2
Copy link
Collaborator

forsyth2 commented Oct 7, 2021

This requires #143 so I will rebase once that goes in.

I just merged #143, so you can rebase this now.

@xylar
Copy link
Contributor Author

xylar commented Oct 7, 2021

I just rebased.

@xylar xylar marked this pull request as ready for review October 7, 2021 18:16
@xylar
Copy link
Contributor Author

xylar commented Oct 7, 2021

@wlin7, I'd appreciate your feedback on this before I ask anyone else to review. Please let me know what e3sm_diags analysis you would like to run by default and any other changes we need to make from zppy defaults.

@forsyth2
Copy link
Collaborator

forsyth2 commented Oct 9, 2021

@xylar Once this is ready to merge, we can add a commit I worked on for testing (forsyth2@d474073)

Copy link
Collaborator

@forsyth2 forsyth2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the standpoint of integrating into zppy, this looks good to me. (I can't say what is necessary for the cryosphere campaign in particular though).

zppy/mpas_analysis.py Outdated Show resolved Hide resolved
This includes a new cryosphere config file in the templates and
a special `--polar_regions` flag for MPAS-Analysis.  The new flag
will only be supported for MPAS-Analysis >= 1.5.0 (not yet released),
so it will require an update of E3SM-Unified to work correctly.
@xylar
Copy link
Contributor Author

xylar commented Oct 11, 2021

@forsyth2, my testing from above (which I'm rerunning right now) doesn't include any model vs. model testing for e3sm_diags. Could you recommend something I can add to the example config file above to test that part? Say, using a typical WC run you might use for testing?

@forsyth2
Copy link
Collaborator

@xylar We haven't really been using/testing e3sm_diags_vs_model (active = False in all test cases). Almost all the E3SM Diags functionality improvements have gone into the e3sm_diags task exclusively. Ultimately, the model-vs-model functionality will be moved into that task too (#147).

@xylar
Copy link
Contributor Author

xylar commented Oct 11, 2021

I'm taking @darincomeau and @stephenprice off as reviewers. I don't think we need them to approve officially because their existing feedback is all I needed.

@forsyth2, I think this is ready to merge as long as we're okay with the possibility that there are some model vs. model kinks to iron out at a later date.

@xylar
Copy link
Contributor Author

xylar commented Oct 11, 2021

@forsyth2, one caveat is that you might want to update documentation and/or tests. Do you have a good sense of what would be useful there? I can help but you're likely to be the better person to at least get the ball rolling.

@forsyth2
Copy link
Collaborator

@xylar Thanks! Once Chrysalis is back online, I'll update the expected files for forsyth2@d474073, push the tests to this branch, and then merge.

@xylar
Copy link
Contributor Author

xylar commented Oct 11, 2021

@forsyth2, sorry, I forgot you already said you had a commit to add. Sounds perfect!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: new feature New feature (will increment minor version)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants