#2533 closed help (fixed)

REPLANCA: Non-standard period for periodic data

Reported by: ggxmy Owned by: um_support
Component: UM Model Keywords:
Cc: Platform: ARCHER
UM Version: 8.2

Description

tewnh is a copy of tewnf, but I'm trying to run that with time varying vegetation fraction ancillary file. It crashed at the initial stage leaving messages like these in /home/n02/n02/masara/output/tewnh000.tewnh.d18176.t175000.leave ;

ATP Stack walkback for Rank 0 starting:
  _start@start.S:113
  __libc_start_main@libc-start.c:242
  main@flumeMain.f90:48
  um_shell_@um_shell.f90:2349
  u_model_@u_model.f90:28
  initial_@initial.f90:38
  up_ancil_@up_ancil.f90:33
  ereport64$ereport_mod_@ereport_mod.f90:53
  gc_abort_@gc_abort.F90:137
  mpl_abort_@mpl_abort.F90:46
  pmpi_abort@0x162e34c
  MPI_Abort@0x16a0efd
  MPID_Abort@0x16ea291
  abort@abort.c:92
  raise@pt-raise.c:42
 REPLANCA: UPDATE REQUIRED FOR FIELD 83
  UP_ANCIL : Error in REPLANCA.

???!!!???!!!???!!!???!!!???!!!???!!! ERROR ???!!!???!!!???!!!???!!!???!!!???!!!?
? Error in routine: UP_ANCIL
? Error Code:   683
? Error Message: REPLANCA: Non-standard period for periodic data
? Error generated from processor:     0
? This run generated  13 warnings

I created the ancillary file based on MODIS bare soil fraction data. It has 46 time steps in a year each representing 8 days. So I set in UMUI that "Fractional covering of surface types to be updated from ancil every 8 days". I tried to set this in the consistent manner in xancil as well. I attached the screen shot of xconv opening this ancillary file.

So I guess there are two possibilities: 1) UM does not accept ancil updated every 8 days at all. In this case I will make and use monthly ancillary. or 2) there is something wrong or inconsistent in the model setting and/or the data.

Please can I have an advice on this?

Thanks,
Masaru

Attachments (1)

xconv_fveg_ancil_t46.jpg (137.3 KB) - added by ggxmy 13 months ago.

Download all attachments as: .zip

Change History (16)

Changed 13 months ago by ggxmy

comment:1 Changed 13 months ago by simon

I've looked at the ancil updating code, and it appears that if you have a periodic ancil with a Gregorian calendar and a regular interval between values, then you need to have daily fields in the ancil (and daily updating). Alternatively you could create an ancil with monthly values, and the UM will interpolate between values, and account for the irregular interval between them.

comment:2 Changed 13 months ago by ggxmy

Hi Simon,

Thank you very much for your help. I was actually converting the data to daily data now. It would be helpful if you kindly suggest where in the code I could check.

Masaru

comment:3 Changed 13 months ago by simon

It's baserepos/UMATMOS/src/UM/control/ancillaries/replanca-rpanca1a.F90 Be warned, it's one of the worst routines in the UM.

comment:4 Changed 13 months ago by ggxmy

Thank you, Simon. But the job crashed with daily ancillary file for exactly the same reason… Either the model setting or the way I created the file may not be right?

In xancil I created the file as a general ancillary because when I tried as a veg frac ancillary the output had only one time step. Is this OK? Can you think of any other possibility?

Masaru

comment:5 Changed 13 months ago by ggxmy

same thing if I specify 24 hours instead of 1 day…

comment:6 Changed 13 months ago by simon

Right, looking more closely at the code I think that periodic Gregorian ancils with a regular interval can only have a periodicity of a day, nothing longer. If you want a longer periodicity, then it has to be in months over a year.

comment:7 Changed 13 months ago by ggxmy

What do you mean by "a periodicity of a day"? Does it mean the entire length of the data has to be 1 day and is it to be repeated for all days? It can include only diurnal cycle?

Maybe this is a stupid question. Probably the answer is no.

But then do you realise that I said I tried a periodicity (I mean update frequency) of 1 day and 24 hours and both failed in the same way as before?

replanca calculates period this way;

        interval=fixhd(35,FILE)*8640+fixhd(36,FILE)*720+                       &
                fixhd(37,FILE)*24+fixhd(38,FILE)

        period=inthd(3,FILE)*interval

So the value of inthd(3,FILE) matters here. It seems the third value of the integer header in the ancillary? Is it possible that the header is different and this value is not correct because I created the ancil as a generalised ancil rather than a vegetation fraction ancil?

Masaru

comment:8 Changed 13 months ago by simon

Yes, the day period is diurnal cycle only.

inthd(3,FILE) is the number of times in the ancil file, so for daily fields over a year it'll be 365, and this correct in your ancil.

comment:9 Changed 13 months ago by ggxmy

Oh, so the ancillary file cannot include seasonal change? inthd(3,FILE) has to be 1? That means the ancillary can have only 1 time step?

If so I may need to create different jobs for different months. Fortunately I'm running this simulation for only 5 months, so doing that will not require a huge additional work.

Masaru

comment:10 Changed 13 months ago by simon

No, it means that you can only either have a periodic ancil file with a period of a day, with values valid at different times in that day, or a periodic ancil file with a period of a year containing monthly data. Nothing else is allowed for the Gregorian calendar.

Can I ask why you want a periodic ancil if you're running for only 5 months? Why not just set the dates in the ancil to correspond to your runs dates in a non-periodic ancil.

comment:11 Changed 13 months ago by ggxmy

HI Simon,

I'm having a hard time understanding your questions and suggestions. I'm not sure why you thought I wanted a periodic ancil. I never aimed to create or use a periodic ancil. I didn't even know what it was. That's the term shown in the error message and I had a trouble understanding.

What I wanted to do was to use vegetation fraction updated every 8 days instead of using time-invariable vegetation fraction. Because it didn't work I created a new ancil that has data for 365 days to be updated every day.

If the simulation is longer than a year the ancil will be used repeatedly so it may be considered as a periodic ancil? But why does it matter? Do we prepare periodic and non-periodic ancils in different ways? Or do we set up the model in different ways for periodic and non-periodic ancils? How have I gone wrong here?

In the argument above, how can a periodic ancil file with a period of a year containing monthly data (having 12 time steps) possibly satisfy the condition of period=24 when period=inthd(3,FILE)*interval and inthd(3,FILE)=12? interval has to be 2 but what is the unit for that? How can I set the model to make interval=2?

This is how confused I am. So please assume I have absolutely no idea about these things. Could I ask what I should do before how I do that? Would you suggest that I set the dates in the ancil to correspond to my runs dates in a non-periodic ancil? That's what I thought I did, but apparently it was not. Then could you tell me how I do that? Is there a switch somewhere (in xancil etc.) to create periodic or non-periodic ancil? Also is there a switch somewhere (in UMUI) to choose between periodic and non-periodic ancil?

Masaru

Version 0, edited 13 months ago by ggxmy (next)

comment:12 Changed 13 months ago by simon

You have created a periodic ancil, that's why the error message mentioned it. You can tell by running pumf of the ancil:
pumf /work/n02/n02/masara/ancils/vn8.2/cascade_12km/qrclim.veg.frac_modis_365
(you may have to do
. /work/y07/y07/umshared/vn8.2/cce/scripts/.umsetvars_8.2
first)
then look at the fixed length header in the pumf_head file. The documentation is in
http://artefacts.ceda.ac.uk/badc_datadocs/um/umdp_F3-UMDPF3.pdf
and this tells us that if item 10 is set to 2, then you have a periodic ancil, which it is.

I mistakenly thought that you originally wanted to create a periodic ancil, hence my responses so far.

Periodic ancils are generally have a period of a year, and contain monthly mean data. For instance the ozone and the 3D climatologies in your run are all periodic. They have variance over a year, but do not change year-on-year. The UM checks item 10 in the header to see if the ancil is periodic, and treats them accordingly.

Periodic monthly ancils don't satisfy period=24 as this is the check for daily ancils, and period is in hourly units, they satisfy the check period=12, where period is in monthly units, later on in the code.

Under no circumstances start playing around with the header to try and force things through REPLANCA, there is no guarantee that the ancil updating will work. There's a strong possibility that the model will run, but will set up incorrect pointers whilst accessing the data in the ancil and read in the ancil data for the incorrect date. I've seen this happen more than once before.

Right, that's out of the way. I need to talk to my colleagues about how to get xancil to produce a non-periodic time-varient veg frac ancil.

comment:13 Changed 13 months ago by jeff

Hi Masaru

You said you used the xancil Generalised ancillary file option to create the veg frac file, correct? This should work fine, there is an option in that panel which asks the question Is Generalised ancillary file 1 periodic in time?, answer no to this and xancil will make a non-periodic ancillary file.

Jeff.

comment:14 Changed 13 months ago by ggxmy

HI Simon,

Thanks for clarifying. Then I will try creating monthly ancil.

Hi Jeff,

Oh! That's great. I thought I checked everywhere but had overlooked it. I'll try generating the ancil with checking no there.

Thanks,
Masaru

comment:15 Changed 13 months ago by ggxmy

  • Resolution set to fixed
  • Status changed from new to closed

Hi Simon, Jeff,

The job ran for a day over night. So Jeff's suggestion seems to have solved the problem. Thank you for your help.

Masaru

Note: See TracTickets for help on using tickets.