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

Coupled branch easily run with different resolutions #168

Closed
arunchawla-NOAA opened this issue Nov 4, 2020 · 10 comments
Closed

Coupled branch easily run with different resolutions #168

arunchawla-NOAA opened this issue Nov 4, 2020 · 10 comments
Labels
feature New feature or request

Comments

@arunchawla-NOAA
Copy link
Contributor

The coupled crow feature branch should be able to be easily run with different resolutions. This should be as configurable as possible and we should have documentation on what to change.

These are the minimum resolutions that we need to support

  1. C384-1/4 ocean/ice-1/2 wave
  2. C192-1/2 ocean/ice-1/2 wave
  3. C96-1 ocean/ice-1 wave
@pjpegion
Copy link
Contributor

pjpegion commented Nov 9, 2020

I have the modifications and a case file to run C96-1-deg ocn/ice that i will add into the workflow. It will require some additions to certain fix directories, and staging of the initial conditions. I have already interpolated the ocean and ice ICS to 1-degree for all of the prototype dates, and will have to fill out the atmosphere dates.
I have two issues that I am not sure how to deal with:
1st issue the separate post processing step that creates 1/4 degree and 1-degree output, and I am not sure how to disable creating 1/4 output. Instead, I added inline post to the model and this is activated by pointing to a new workflow file (layout/free_forecast_gfs_no_post.yaml). But the problem there is the workflow is hardcoded to check to see if we are using layout/free_forecast_gfs.yaml to trigger only running 00z forecasts. When I use the no_post yaml file, the workflow wants to also run a 06z initialization. This logic is in workflow/runtime/suite.yaml and I am not sure how to fix this.

2nd issue is that I disabled running with the wave model since I do not know how to make it run at a lower resolution. The 1-degree atm/ocn/ice can run on 80 processor and take about 5 minutes a day. When I added the wave component, I increased to 120 processors and the model slowed to about 10 minutes a day.

@BrianCurtis-NOAA BrianCurtis-NOAA self-assigned this Nov 9, 2020
@arunchawla-NOAA
Copy link
Contributor Author

@BrianCurtis-NOAA and @pjpegion what is the status of this?

@BrianCurtis-NOAA
Copy link
Contributor

I've been looking through the code understanding where the PyYAML calls the python and how the process goes from start to finish with the CROW components. It may help me to sit down with someone more familiar with the workings and have a more interactive discussion.

@pjpegion
Copy link
Contributor

pjpegion commented Dec 9, 2020

no one responded to my issues/questions

@JessicaMeixner-NOAA
Copy link
Contributor

Just an FYI if lower resolutions of the atm model also want to be run with fewer than 127 levels, which is possible, in workflow/config/fcst.yaml the definition of launch level needs to be updated to be the calculation as it is in the develop branch in the config system there. Sorry about that.

@WalterKolczynski-NOAA WalterKolczynski-NOAA added coupled feature New feature or request labels Mar 1, 2021
@BrianCurtis-NOAA
Copy link
Contributor

BrianCurtis-NOAA commented Mar 2, 2021

fcst.yml in coupled-crow workflow/config has

#export launch_level=27
#This should be: export launch_level=$(echo "$LEVS/2.35" |bc)
# hard coding for 128 LEVS for now:
export launch_level=54

Is there a reason we haven't just uncommented the export with the calculation?

Couldn't we just do something like:

  level_127: !FirstTrue
    - when: !calc doc.fv3_gfs_settings.LEVS==128
      do: !expand |
         export launch_level=54
         export  tau=5.0
         export  rf_cutoff=7.5e2
         export  d2_bg_k1=0.20
         export  d2_bg_k2=0.04
    - otherwise: ""
  
  level_63: !FirstTrue
    - when: !calc doc.fv3_gfs_settings.LEVS==64
      do: !expand |
         export launch_level=27
         export  tau=5.0
         export  rf_cutoff=7.5e2
         export  d2_bg_k1=0.20
         export  d2_bg_k2=0.04
    - otherwise: ""

I imagine there's a simpler way without duplicating code?

@JessicaMeixner-NOAA
Copy link
Contributor

That's a great question @BrianCurtis-NOAA. I don't remember why the calculation didn't work - but I don't think it did (and I really think I would have tried it before commenting it out, but maybe I didn't). That's the calculation in the develop branch configuration system.

I do think you could do what you suggested. I could see the potential downside of what you suggested is it'd be a fixed/duplicated code for each LEVS option. I don't know if people choose any number of LEVS and if we need that flexibility or not.

@WalterKolczynski-NOAA
Copy link
Contributor

I'm testing a better way right now.

@BrianCurtis-NOAA
Copy link
Contributor

@pjpegion I can't say I am confident, but I hope these help move you forward with your questions:

I have two issues that I am not sure how to deal with:
1st issue the separate post processing step that creates 1/4 degree and 1-degree output, and I am not sure how to disable creating 1/4 output. Instead

I have not seen your specific case file, but in the post section there is a master_grid setting that according to schema/post.yaml can be 1deg, 0p5deg, 0p25deg or 0p125deg. I wonder if that will set what output grid you're looking for?

But the problem there is the workflow is hardcoded to check to see if we are using layout/free_forecast_gfs.yaml to trigger only running 00z forecasts. When I use the no_post yaml file, the workflow wants to also run a 06z initialization.

In suite.yaml it shows you can set gfs_cyc to 1 to use the gfs_clock_1 which will only run 0z i am guessing since the time delta is 24 hours, does that answer this?

Once again, hope this helps move forward a bit more with this.

@BrianCurtis-NOAA BrianCurtis-NOAA removed their assignment Aug 19, 2021
@aerorahul
Copy link
Contributor

According to @WalterKolczynski-NOAA, the issue is not in running of the various resolutions of the coupled model.
The issue is with generating/providing staged IC's for the resolution.
Does the utility scripts have the capability of generating IC's for a given resolution for the various components (similar to chgres for Atm)?

The scope of this issue has changed. Closing. Will open a new one with the correct scope.

kayeekayee pushed a commit to kayeekayee/global-workflow that referenced this issue May 30, 2024
* set up dycore_data at atmos_init
* fix syntax error in atmos_model.F90
* put in initial fields in fv3 export fields at init
* add state_diagnose from Denise
* fix state diagnose on write tasks


Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Denise.Worthen <[email protected]>
kayeekayee pushed a commit to kayeekayee/global-workflow that referenced this issue May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants