I am running a suite (u-dn669) belonging to the ISIMIP3a intercomparison. This model usually runs from 1801 to 2019 and to 2022 to some climatic datasets, but I cut it from 2001. I have run this model many times but with l_triffid = .true. I am running an experiment prescribing PFT, so I turned that variable false. I noticed two datasets on ./app/jules/opt/rose-app-notriffid.conf to use instead. The first one is in [namelist:jules_frac] and is fixed (i.e., it doesn’t include time). The second is in [namelist:jules_prescribed_dataset(2)] and varies through time (2018 - 2019). I am not sure what of them is used by the model, but I probably need to do something else because my model crashed in the spinup with the following message:
“forrtl: severe (27): too many records in I/O statement, unit -5, file Internal Formatted Write”
So, first, do I need to do something else to turn off TRIFFID and use the prescribed PFT adequately? That is the only thing I want to prescribe for PFT’s fraction; maybe I need to change other parameters, not l_triffid. Second, do you have any clue about how to choose between the fixed and varying prescribed PFT in the model?
I believe that the error message is caused by a bug in jules_vegetation_mod.F90 that is triggered when JULES is trying to compose one of its own error messages. The message should say:
These should be false when l_triffid = F: l_veg_compete, l_trif_eq, l_landuse, l_ht_compete, l_nitrogen, l_trif_crop, l_trif_fire, l_trif_biocrop, l_ag_expand
Have you got one of the listed switches set to true?
If you wish to run with time-varying prescribed PFT fractions, you can leave rose-app-notriffid.conf as it is. Initial values for the fractions will be read from the file specified under [namelist:jules_frac], but these will be overwritten at the start of each timestep by values read from the file specified under [namelist:jules_prescribed_dataset(2)].
If you wish to run with fixed PFT fractions, delete the [namelist:jules_prescribed_dataset(2)] section from rose-app-notriffid.conf and adjust n_datasets under [namelist:jules_prescribed].
I don’t think that it’s essential to turn all of TRIFFID off for what you want to do. You can just turn off the part that varies the PFT fractions by setting l_veg_compete to false under [namelist:jules_vegetation] whilst leaving l_triffid true. This is documented to work with fixed PFT fractions specified under [namelist:jules_frac]. Presumably it works with time-varying prescribed fractions too, although I haven’t tested this.
Thank you for your help. I looked at the parameters you highlighted one by one, and I only needed to change l_trif_fire to False. I changed it and got a new error, evidencing that I need to turn off other processes in the models, particularly on the soil scheme.
{MPI Task 12} [FATAL ERROR] CHECK_JULES_SOIL_BIOGEOCHEM: 4-pool and ECOSSE soil models need a veg model (TRIFFID). Set l_triffid=T.
I wanted to follow your advice and only turn l_veg_compete, but I couldn’t find where it is used, neither on the GUI nor the terminal. That parameter is always commented on. Perhaps there is another name in this model?, or I need to uncomment something
If you have any clues about how to turn false that l_veg_compete or its analogue, please let me know. I probably don’t actually need help with the model error because my only aim is to prescribe the PFT.
l_veg_compete should appear in the rose config-edit GUI after l_triffid has been set to true. If editing the config files by hand, just remove the !! in front of l_veg_compete before setting it to true.
It makes a lot of sense , thank you. I turned l_veg_compete to false, but the model failed with the following message.
{MPI Task 5} [FATAL ERROR] init_frac: No file name provided
It seemed to me that the model was reading the jules_frac from ./app/jules/rose-app.conf and no from ./app/jules/opt/rose-app-notriffid.conf. The first is indeed empty, while the second has the desired document. So I just added the datasets I want to prescribe on ./app/jules/rose-app.conf. I hope that works; at least it is now in the spinup3, which was not reached before in this process. The model has been very slow, possibly due to Jasmin, as each task takes one day to be submitted.
Hi there,
My model just failed; it takes a long time in the queue. The error says it cannot read a NetCDF file to prescribe a radiation variable (‘rlds’). I am not sure if that error is at some point related to what I have changed in this suite, but it does not seem to be for me. I tried to read the file in Jupyter and did it with no issues.
I just reran that, expecting it to be an error external to my suite. However, please let me know if you have any clue about what is happening. In the current peace of JASMIN, this job would be in the queue for around three days.
The FATAL ERROR looks like it’s due to one of the intermittent faults that JASMIN is prone to. The only solution that I know is to resubmit the job as you have done.
If the job succeeds this time, you could try reporting the matter to the JASMIN people in the hope that the information is useful to them in making the system more reliable. Tell them what you said in you message. Also tell them if the same file was successfully read in earlier stages of your model run.
It has been suggest to me by a colleague that your job might be running out of memory during netCDF input as at NetCDF error when running JULES on LOTUS2 (although that was a problem with netCDF output). If the job fails again, try the solution suggested there.