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

MONC hack for full aerosol processing in warm clouds #52

Open
eers1 opened this issue Jul 1, 2021 · 0 comments
Open

MONC hack for full aerosol processing in warm clouds #52

eers1 opened this issue Jul 1, 2021 · 0 comments

Comments

@eers1
Copy link
Collaborator

eers1 commented Jul 1, 2021

Running MONC with CASIM in full aerosol processing (process_level=2) and warm clouds (l_warm=.true.) causes the run to fail with a segmentation fault. The error comes from number_q_fields not matching up because it tries to assign ice_mass, snow_mass and graupel_mass, even though it is warm processes only (this comes from the tendency diagnostics in the damping component). An example of the CASIM settings in MONC that provide this error, sct_trial_output.txt:

number_q_fields = 12 
option=22000
l_warm=.true.
aerosol_option=1
iopt-act=3
iopt_inuc=0
process_level=2

Note that with ice options turned on, the error doesn't happen because you are counting the ice fields in number_q_fields anyway.

Adrian Hill has added a couple of hacks to a branch taken from the head of the MOSRS trunk to work around this. The hacks do two things:

  1. prevent the tendency diagnostics (forcing l_qdiag=false)
  2. force all the CASIM process rates to be allocated

The branch is here
https://code.metoffice.gov.uk/trac/monc/browser/main/branches/dev/adrianhill/r8794_aeroproc_l_warm_test
and he has so far tested it on this case
https://code.metoffice.gov.uk/trac/monc/browser/main/branches/dev/adrianhill/r8794_aeroproc_l_warm_test/testcases/kidtestcase/casim_testing-Cu-4-0.mcf
The changes are made in the following components: casim_profile_dgs, damping, diffusion, forcing, pwadvection, simplecloud, stepfields, tvdadvection.

I have tried just adding the changes as is to my branch but it didn't compile due to the differences from the MOSRS head of trunk and our repository here. Some additional changes are required to use Adrian's hack. Since this was added to the head of the trunk, which only works with CASIM vn0.4 (r8361) and above, it might require one of these later versions of CASIM but I'm not sure.

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

1 participant