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

Remove CAM-SAM inconcistencies in qsat #16

Open
jatkinson1000 opened this issue Jun 19, 2024 · 1 comment · May be fixed by #21
Open

Remove CAM-SAM inconcistencies in qsat #16

jatkinson1000 opened this issue Jun 19, 2024 · 1 comment · May be fixed by #21
Assignees

Comments

@jatkinson1000
Copy link
Member

@paogorman comments:

Another issue to think about is the small inconsistencies between SAM and CAM qsat (note CAM qsat is set in wv_saturation.f90). If the timestep is large, this is not much of a problem. But for smaller timesteps (e.g. if we subcycle), we can run into a problem because our approach is to:

  • call the NN to update q
  • convert back to qv,qc,qi
  • calculate the tendency as the change in qv,qc,qi from before the NN call.

But in cloudy air this change will include an adjustment from CAM to SAM qsat, and this could be large when divided by a small timestep.

One option to deal with this problem is to call an extra conversion back from q to qv, qc, qi prior to the NN call.

Then the changes in qv, qc, qi can only result from the NN tendencies:

    ! Convert CAM Moistures and tabs to SAM q and t
    call CAM_var_conversion(qv_sam, qc_sam, qi_sam, q_sam, tabs_sam, t_sam)
    ! Extra conversion to make qv, qc, qi consistent with SAM saturation
    call SAM_var_conversion(t_sam, q_sam, tabs_sam, qv_sam, qc_sam, qi_sam)
@jatkinson1000
Copy link
Member Author

So the $\Delta$ should be calculated relative to the q_i,c,vthat results from a conversion back to 'CAM' variables just before the net is called, rather than those that are read in at the start of the scheme from the CAM state variable.

This way the tendencies will be 'consistent with SAM physics'. - i.e. a zero tendency from the net should result in zero tendency (or at least closer to) applied to the variables.

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 a pull request may close this issue.

1 participant