Running error for photo_model and photo_acclim

Dear Helpdesk,

Hope everything is going welll.

I have built up my own branch at main/branches/dev/wenyaogan/r24333_pmodel/src/science/surface/leaf_jls_mod.F90@25941
but when I try to run it with in current JULES configuration, setting ‘photo_acclim’ to 2 (indicating thermal acclimation) is only effective when the ‘photo model’ is set to Farquhar. However, our requirements necessitate setting the ‘photo model’ to Pmodel while simultaneously enabling thermal acclimation. Without setting Farquhar, the parameters under thermal acclimation aren’t invoked, resulting in our environmental input displaying as ‘missing’ (Dictionary does not contain key ‘t_growth_gb’). But if I use Farquhar model and use acclim model, the same error didn’t pop up.

I wonder if there is a way to activate photo_acclim model without using Farquhar?

Thanks a lot for your time and help.

Best,
Wenyao

Hi Wenyao:
The FORTRAN code and the suite will probably need to be modified so that it can do thermal acclimation without using the Farquhar model. Are you able to do those modifications yourself?
Patrick

Dear Patrick,

I am not sure if I can do that alone. Could you briefly list the changes or the things would need modifying?

Best,
Wenyao

Hi Wenyao:
I suggest that you start this by grepping in the FORTRAN code for all occurrences of photo_acclim and photo_model. And then you can look at each occurence of those strings with the editor, to see what you need to change in order to get it working for when the photo_model is the Pmodel.
Patrick

Dear Patrick,

I took your advice setting up a new case photo_pmodel_acclim under the photo_acclim_model as well as the settings for P model. But the same error still exists. Dictionary does not contain key ‘t_growth_gb’. Would you mind take a look?

[FATAL ERROR] dict_get_real: Dictionary does not contain key ‘t_growth_gb’
Image PC Routine Line Source
jules.exe 000000000097CB1A Unknown Unknown Unknown
jules.exe 00000000004C484F logging_mod_mp_wr 170 logging_mod.F90
jules.exe 0000000000647F17 dictionary_mod_mp 211 dictionary_mod.F90
jules.exe 0000000000489529 initial_condition 470 initial_conditions_mod.F90
jules.exe 0000000000431B01 init_mod_mp_init_ 379 init.F90
jules.exe 000000000040CE0A MAIN__ 135 jules.F90
jules.exe 000000000040CB92 Unknown Unknown Unknown
libc-2.17.so 00007FCA15E35555 __libc_start_main Unknown Unknown
jules.exe 000000000040CAA9 Unknown Unknown Unknown

Thank you.

Best,
Wenyao

Hi Wenyao:
The next step could be to grep for t_growth_gb in the code, and then look for an occurrence of photo_acclim or photo_model that is nearby t_growth_gb. Then put the necessary logic in the code in order to get t_growth_gb in the dictionary.

For example, with a different implementation of the acclimation code than you are using, you could see
with:
grep -r t_growth_gb ~pmcguire/jules/r16578_vn5.6_acclimation_ceh1/src
that there are 56 occurrences of the string t_growth_gb in 14 different files. You could go through each of those 14 files with your editor, and look for where there are occurrences of the string photo_acclim or photo_model. Then you could check in your & Martin Best’s implementation of the acclimation code to see if t_growth_gb is put in the dictionary in a similar way to what Doug Clark had previously done.

Patrick

Dear Patrick,

Thanks for your advice. I am looking at the Doug Clark code. I am afraid that his settings for ‘t_growth_gb’ is different from setups for ‘t_growth_gb’ in JULES v7.2. I have followed the steps in JULES v7.2. Some changes he made in his acclimation code no longer exists in current JULES anymore.

Best,
Wenyao

Hi Wenyao
Does the current code that you have from JULES 7.1 that you and Martin Best have made work properly with Farquhar and acclimation?

If it does work, then go through this version of the code to figure out why t_growth_gb doesn’t get defined properly when you switch from Farquhar to the p model. There must be something different that is causing it to break.
Patrick

Dear Patrick,

Thanks a lot for your help. This means a lot to me. Martin and I are looking through the code together now.

Best,
Wenyao

Hi Patrick,

Sorry to bother you again. I just came to the fact that the dictionary error might be caused by the incorrect settings of the rose suite (u-al752). I might need to edit the dump files to set the initial conditions for the ‘t_growth_gb’ and other variables I have set up. I wonder if it is possible to run models from the dump files for each site. In addition can I read these values as constants that are used at all sites to begin with.

Best,
Wenyao

Hi Wenyao
Did you already figure this out, in the past 3 days?
Or do you still need help with this?
Patrick

Hi Wenyao:
You could just spin up the u-al752 suite from scratch, from idealized initial conditions. These initial conditions are in:
~/roses/u-al752/app/jules/opt/rose-app-spin-init.conf

You might be able to add t_growth_gb as a variable in these idealized initial conditions, but you might need to add FORTRAN code to read in this variable from this file.

Does this help?
Patrick

Dear Patrick,

Thanks a lot for your help. The code is finally running now.

Best,
Wenyao

Hi Wenyao:
Excellent! What did you do to fix it?
Patrick

Dear Patrick,

I have done what you suggested. I set up the initial values for my new variables in the rose-app-spin-init.conf file.

Wenyao

Hi Wenyao:
That is wonderful that my suggestion actually worked! Nice job!
Patrick

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.