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

workflow for user modification of fates parameters #158

Closed
bandre-ucar opened this issue Dec 7, 2016 · 1 comment
Closed

workflow for user modification of fates parameters #158

bandre-ucar opened this issue Dec 7, 2016 · 1 comment

Comments

@bandre-ucar
Copy link
Contributor

Summary of Issue:

Proposed workflow for users changing fates parameters as part of a land model run. This workflow should be accommodate all the identified users (basic user, science dev, automated science).

Workflow

  • Store backend defaults in repo as: fates_parameters_default.xml

  • Create case copies fates_parameters_default.xml to ${CASE_DIR}/fates_parameters_user.xml

  • User workflows:

    • User creates netcdf binary (automated science?):

      • create netcdf file using what ever tools they want.
      • At any point between case creation and run, automated users can override the defaults.
      • Set fates_parameter_file in user_nl_clm to point to their file.
      • If that variable is set, clm infrastructure will simply add it to the name list and do nothing else to fates parameters.
      • Host infrastructure will do zero checking of the netcdf file. 100% responsibility is on the user to get it correct.
    • User modifies parameters via netcdf file:

      • Case is created with parameter defaults.
      • Call preview-namelist once to generate a netcdf file.
      • rename netcdf file?
      • Edit netcdf file using preferred method
      • Set user_nl_clm fates_parameter_file to point to your netcdf file. This prevents build-namelist from doing any additional manipulation of the file.
      • Run preview-namelist to have changes take effect.
      • advanced users only, no additional validation of user input after.
    • User modification via xml

      • At any point between case creation and run, users can override the defaults.
      • user can use what ever tool they want to: read fates_parameters_user.xml, modify, write back out.
      • Do NOT set fates_parameter_file in user_nl_clm.
      • Run preview-namelists to have changes take effect.
      • Host infrastructure will validate against an xml schema. Possibly additional consistency checking. Still a significant burden on the user to get it correct if they modify xml incorrectly.
    • User changing parameters via plain text:

      • Use an editor to change fates parameters via the user_nl_clm file.
      • Do NOT set fates_parameter_file in user_nl_clm.
      • preprocessor infrastructure constructs the netcdf and sets namelist to point to the correct the correct file.
      • preprocessor will attempt to validate the user input (non-negativity, bounds, etc).
      • preprocessor will ALWAYS overwrite an existing netcdf file in this case if the user_nl_clm parameter is not set.
  • Submit and run case.

Critical concept of workflow:

  • If fates_parameter_file is set in user_nl_clm, then clm build-namelist does nothing to the binray netcdf file.
  • If fates_parameter_file is NOT set in user_nl_clm, then clm build-namelist constructs the netcdf automatically, overwriting any existing file.
  • By modifying netcdf files, the user is saying "I'm and advanced user, trust me I know what I'm doing." 100% responsibility on the user to get things correct. Zero help from the infrastructure, minimal error checking in fortran.
@ckoven
Copy link
Contributor

ckoven commented Apr 18, 2018

closing this and related issues because the new cdl file scheme takes care of these problems.

@ckoven ckoven closed this as completed Apr 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants