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 AMIP calibration pipeline #1187

Merged
merged 2 commits into from
Feb 21, 2025
Merged

Add AMIP calibration pipeline #1187

merged 2 commits into from
Feb 21, 2025

Conversation

nefrathenrici
Copy link
Member

Purpose

Add the initial AMIP calibration pipeline with a trivial perfect model experiment.

To-do

Content


  • I have read and checked the items on the review checklist.

@nefrathenrici nefrathenrici force-pushed the ne/calibration branch 7 times, most recently from 5d64059 to 40ec6c2 Compare February 19, 2025 21:22
@nefrathenrici nefrathenrici marked this pull request as ready for review February 19, 2025 21:30
Copy link
Member

@juliasloan25 juliasloan25 left a comment

Choose a reason for hiding this comment

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

Looks good! I left some comments about the paths


for m in 1:ensemble_size
member_path = CAL.path_to_ensemble_member(output_dir, iteration, m)
simdir_path = joinpath(member_path, "model_config/output_active/clima_atmos")
Copy link
Member

Choose a reason for hiding this comment

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

I don't think you need to go into the model_config/ directory here, but I'm not sure what member_path returns so it may be correct

Suggested change
simdir_path = joinpath(member_path, "model_config/output_active/clima_atmos")
simdir_path = joinpath(member_path, "output_active/clima_atmos")

Copy link
Member Author

Choose a reason for hiding this comment

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

I think the model_config comes from the name of the config file (model_config.yml). I could change this with the job_id, it would probably be good to keep a consistent job_id for calibration runs.

Copy link
Member

Choose a reason for hiding this comment

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

If job_id = model_config this path will be right, but I'm not sure job_id is being set (the default is nothing)

Copy link
Member Author

@nefrathenrici nefrathenrici Feb 20, 2025

Choose a reason for hiding this comment

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

The job_id gets set to the name of the YAML file, I don't think it is ever nothing after the get_coupler_config_dict func:
job_id = isnothing(job_id) ? string(split(split(config_file, '/')[end], '.')[1]) : job_id

https://github.com/CliMA/ClimaCoupler.jl/blob/main/experiments/ClimaEarth/user_io/arg_parsing.jl#L26

Since this PR is only manually tested I would like to run the calibration once a week, should I make a new pipeline or do you think we could put this in the longruns?

Copy link
Member

Choose a reason for hiding this comment

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

Ahh yes you're right, I missed that line.

Let's add it to the longruns since we already have a lot of coupler pipelines

@nefrathenrici nefrathenrici merged commit c67e0bb into main Feb 21, 2025
13 checks passed
@nefrathenrici nefrathenrici deleted the ne/calibration branch February 21, 2025 19:30
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

Successfully merging this pull request may close these issues.

2 participants