Running error JULES ROSE

Dear CMS helpdesk,
I have written some additional code in my local JULES copy and I have commited back. However, when I try to run with my own branch with the u-al752 suite it generates following error code. However, the code tested okay with another suite by others. I wonder if you can take a look at this.If it has anything to do with me adding new ancillary in the namelist. ps the branch has been upgraded to 7.2.
[FAIL] cylc validate -o /tmp/tmpfu6uNr --strict u-al752 # return-code=1, stderr=

[FAIL] Jinja2Error:

[FAIL] File “”, line 4, in template

[FAIL] TemplateSyntaxError: expected token ‘end of statement block’, got ‘:’

[FAIL] Context lines:

[FAIL] {# Rose Configuration Insertion: Init #}

[FAIL] {% set CYLC_VERSION=“7.8.12” %}

[FAIL] {% set INCLUDE_SPINUP=True %}

[FAIL] {% set JULES_FCM=fcm:jules.x_br/dev/wenyaogan/r24333_pmodel %} ← Jinja2Error

Hi Wenyao:
I tried to run a copy of your suite. My copy of your suite is in:
~pmcguire/roses/u-al752_gwy1998_v1

I get the same errors. The errors suggest that it is a problem with your rose-suite.conf file on the line:
JULES_FCM=fcm:jules.x_br/dev/wenyaogan/r24333_pmodel

I looked at the original suite:
~pmcguire/roses/u-al752
and it looks like it is set as:
JULES_FCM='fcm:jules.x_tr'

So by comparing to the original suite, your new modified suite is missing the quotes in rose-suite.conf. It should have:
JULES_FCM='fcm:jules.x_br/dev/wenyaogan/r24333_pmodel'

I tried to run that and it seems to get past the original error. So can you please try changing this, and see if it works?
Patrick

Dear Patric,

Thank you for your help. I changed the route using rose edit so I did not notice the quotes. The problem has been solved now. And the model is running successfully.

Best,
Wenyao

Hi Wenyao:
I am glad it’s working. Do let us know if you need help with anything else.
Patrick

Dear Partick,

Thanks for your support. Sry to bother you again. I just realized that I wasn’t executing through the subroutine I wanted. But if I set the switcher (rose-app.conf file) tophoto_model=3 and can_rad_mod=1. Then following error occured. As I’ve mentioned another co-worker has debugged this and successfully ran for their suite. I wonder if it has something to do with my local setting.

This is the error message:

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
jules.exe 000000000097A383 Unknown Unknown Unknown
libpthread-2.17.s 00007F76C911D630 Unknown Unknown Unknown
jules.exe 000000000088D8AC qsat_mod_mp_qsat_ 109 qsat_mod.F90
jules.exe 0000000000895A3E screen_tq_mod_mp_ 401 screen_tq_jls.F90
jules.exe 000000000084340F jules_griddiag_sf 477 jules_griddiag_sf_implicit_jls.F90
jules.exe 000000000074C7C3 surf_couple_impli 495 surf_couple_implicit_mod.F90
jules.exe 000000000041525E control_ 723 control.F90
jules.exe 000000000040CF7F MAIN__ 195 jules.F90
jules.exe 000000000040CB92 Unknown Unknown Unknown
libc-2.17.so 00007F76C8B5E555 __libc_start_main Unknown Unknown
jules.exe 000000000040CAA9 Unknown Unknown Unknown
[FAIL] rose-run jules.exe <<‘STDIN
[FAIL]
[FAIL] ‘STDIN’ # return-code=174
2023-04-20T14:23:47+01:00 CRITICAL - failed/EXIT

Hi Wenyao
What suite are you using? Is it u-al752? I don’t see that error in the log files for your u-al752 suite.
Did you erase the old log files with a rose suite-run --new?

I do see this error in this log file
(~gwy1998/cylc-run/u-al752/log/job/1/jules_at_neu_presc0/05/job.err):

[FATAL ERROR] INIT_PFTPARM_JULES: Error reading namelist JULES_PFTPARM (IOSTAT=19 IOMSG=invalid reference to variable in NAMELIST input, unit 1, file /work/scratch-pw2/gwy1998/cylc-run/u-al752/work/1/jules_at_neu_presc0/./pft_params.nml, line 19, position 10)

line 19 of that file corresponds to:
beta_c3c4=6*146,146/9,146*2,

Maybe your new FORTRAN code doesn’t have the reading of the beta_c3c4 variable implemented correctly?
Or maybe the rose/cylc JINJA code doesn’t know how to read in the division operator (146/9)?
Patrick

Dear Patrick,

Thanks for your reply. I have got ridden of the division and add io at the end. This helps to get rid of the error message of invalid reference to variables. But this error popped up.

[FATAL ERROR] init_ic: Insufficient values for var. No name provided for var at position #1
Image PC Routine Line Source
jules.exe 000000000097723A Unknown Unknown Unknown
jules.exe 00000000004C47EF logging_mod_mp_wr 170 logging_mod.F90
jules.exe 00000000004884E4 initial_condition 379 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 00007F4F478BE555 __libc_start_main Unknown Unknown
jules.exe 000000000040CAA9 Unknown Unknown Unknown

MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.

[FAIL] rose-run jules.exe <<‘STDIN
[FAIL]
[FAIL] ‘STDIN’ # return-code=1
2023-04-20T20:46:44+01:00 CRITICAL - failed/EXIT

Can you look at this for a bit.

Thanks.

Best,
Wenyao

Hi Wenyao:
I don’t see beta_c3c4 listed in your file ~gwy1998/roses/u-al752/app/jules/rose-app.conf. I think your new FORTRAN code requires this variable to be defined.
Patrick

Dear Patrick,

Yes. I have reset the configuration to exclude the impact of changes of the FORTRAN code. I have defined that beta_c3c4 variable early on but wherever I enable the new model, that message came back.

Best,
Wenyao

Hi Wenyao:
Your latest error message at line number 379 of the initial_conditions_mode.F90 file was signaled at line 379 of this file:
/home/users/gwy1998/cylc-run/u-al752/share/fcm_make/preprocess/src/jules/src/initialisation/standalone/initial_conditions/initial_conditions_mod.F90

The context in that FORTRAN code suggests that you’re not defining the initial conditions properly.

Your rose-suite.conf file has INCLUDE_SPINUP=False, whereas in the original u-al752 suite, this variable is set to be True.

You can see the different behavior of using different values of this parameter in your suite.rc file:

{%- if INCLUDE_SPINUP %}
              SPIN_INIT_STR = 'spin-init'
              INITIALCONDITIONSFILE = "initial_conditions_spin.dat"
              {% set NYEAR = site_info[site]["run_dates"][1][0:4] | int - site_info[site]["run_dates"][0][0:4] | int + 1 %}
              NSPIN = {{ 1 + NYRSPIN // NYEAR }}
{%- else %}
              SPIN_INIT_STR = ''
              INITIALCONDITIONSFILE = {{ OUTPUT_FOLDER }}/$OUTSTRING".dump.{{ site_info[site]["run_dates"][0] | replace('-', '') }}.0.nc"
              NSPIN = 0
{%- endif %}

Maybe you can make sure that this part of the code is working right, and that it is giving you proper initial conditions when you don’t use the functionality for spinning up from idealized initial conditions? Is your dump file being read properly?
Patrick