Opened 9 years ago

Closed 9 years ago

#495 closed help (fixed)

Adding passive tracers to a UM job

Reported by: cbirch Owned by: willie
Component: UM Model Keywords: tracer, ancillary
Cc: j.cole@… Platform:
UM Version: 6.1

Description

Hi,
I want to add passive tracers to a 3 day UM LAM run and I am a bit confused as to how to do it. I found the ‘Using Atmospheric Tracers with the UM’ page on the website and the associated examples and I have tried to replicate that in my model run. I submitted this job (xfbvl) to Hector and it failed, unsurprisingly, because it’s probably not set up correctly (see xfbvl000.xfbvl.d10256.t10423.leave).

Firstly, I am not sure how to set up the ancillary file to initialise the tracers. I want to initialise the tracers at the lowest model level at the start of my run, over a region that covers approx ¼ of the model domain. I also want to output hourly tracer concentration diagnostics over all levels for the duration of the run.

The job I have created is xfbvl on the UMUI, which is a copy of another job (which works) with the tracer stuff added. I copied the tracer stuff from the example job xdrb, using sec 4.6 from the UM 5.5 user guide. The ancillary file I have created is /home/n02/n02/cbirch/work/tracers/Hog_tracer1T_ancil.pp1. It contains 4 tracers (11-14, of dimensions time(=1)xlevel(=1)xlatxlon). I am not sure whether the ancillary file I have created is of the correct format for what I want to do. I am also assuming I have converted it correctly from the netcdf file (/home/n02/n02/cbirch/work/tracers/ Hog_tracer1T_ancil.nc), using a single level user field in xancil?

A couple of other questions:

I want each tracer to be mixed differently advection/convection (as for the example on the webpage) but I am not sure where in the UMUI or otherwise this is specified?

I saw on the webpage that I needed to download the scripts mktracer_src_6.1 and mktracer_nosrc_6.1. I’m not sure what these scripts do or how they are executed from my $DEVTDIR when the job is submitted to hector?

Finally, I have added the STASH codes for tracers 11-14 into Atmosphere ⇒ STASH ⇒ STASH Specification of Diagnostic Requirements in my job. I’m not sure if this is correct because the example job (xdrb) uses STASHmaster files from /home/umui/tracer_ex_STASH_6.1. I’m not familiar with using these files and I cannot access the example ones in order to look at them. My job failed with the error: Error Message:- Stashcode 33011 : Required field is not in input dump! Is this something to do with naming the fields in the ancillary file?

Thanks a lot in advance, I realise this is a lot of questions,

Cathryn

Change History (24)

comment:1 Changed 9 years ago by willie

  • Cc h.f.dacre@… added
  • Owner changed from um_support to willie
  • Status changed from new to accepted

Hi Cathryn,

It looks like the ancillary file Hog_tracer1T_ancil.pp1 has been corrupted: xconv complains about it. It also has STASH items 311,…,314 only, but you have asked for STASH item 33011 to be configured from the ancillary file.

The script files process the setup files prior to the run: they are referenced in Sub model independent > Script Inserts and Modifications in the UMUI. You have omitted these in your run.

The user STASH master files are on PUMA in the directory /home/umui/tracer_ex_STASH_6.1; let me know if you can't access these.

I think it would be useful if you were to discuss the remaining issues with Helen Dacre at Reading. The original tracer job on which xrdb is based was developed by Helen. I've copied this message to her.

Let me know if you need further help.

Regards,

Willie

comment:2 Changed 9 years ago by cbirch

Hi Helen and Willie,

Thanks for your help so far. I didn’t realise the STASHmaster files were on PUMA, not Hector. I have also added the tracer scripts to my job in Sub model independent > Script Inserts and Modifications in the UMUI.

I am having trouble creating the tracer ancillary file in xancil from the netcdf version. It could be that the format of the netcdf file is wrong. The netcdf version is here: /home/n02/n02/cbirch/work/tracers/Hog_tracer1T_ancil.nc. Would it be possible for one of you to check that this contains all that is needed to be included for what I want to do (initialise four tracers at the surface at the start of the run over an area of the domain)?

Does it matter how the variables in the netcdf file (or the netcdf file converted to the UM ancillary file) are labelled? I am still confused about the numbering of the stash items. In the STASH Specification of Diagnostic Requirements on the umui, the tracer diagnostics that I want are in section 33, items 11-14. In Atmosphere ⇒ Ancillary and Input data files ⇒ other ancillary files ⇒tracer and aerosol ancillary file the tracers are in section 33 and then I have set tracers 11-14 to be configured from tracer ancillary file. In xancil I have the option of using STASH codes 301 to 320 only, so I am not sure how the codes in the ancillary file relate to the ones set in the UMUI?

Thanks,
Cathryn

comment:3 Changed 9 years ago by willie

Hi Cathryn,

The netCDF file Hog_tracer1T_ancil.nc has incorrect timestamps and this is causing problems for xancil and xconv. If you look at the file in xconv, click on the first field and select 't' to see the problem. This should be corrected.

You also need to use "Generalised Ancillary file" in xancil, rather than 'single level user fields'. This will allow the correct STASH code to be attributed to the field.

Regards,

Willie

comment:4 Changed 9 years ago by cbirch

Hi Willie,
Thanks for spotteingthe mistake with the timestamps. This is fixed now and the 4 tracers have STASH codes 301, 302, 303, and 304 in the ancillary file (/home/n02/n02/cbirch/work/tracers/Hog_tracer1T_ancil3.pp1).
I tried running the job (xfbvm) again but it failed with the same error message as before:

*
ERROR!!! in reconfiguration in routine Rcf_Set_Data_Source
Error Code:- 30
Error Message:- Stashcode 301 : Required field is not in input dump!
Error generated from processor 0
*

I'm not sure what is wrong. xfbvm.astart does contain four variables with codes 301-304 but all the values in those are zero (there should be a region of the domain where the tracer concentration is 106 kg/kg).

Any idea what is wrong?

Thanks,
Cathryn

comment:5 Changed 9 years ago by willie

Hi Cathryn,

Your ancillary file is a 4.5 ancillary file - it should be 6.1. The reconfiguration should place the tracers in the start dump. Your ancillary file has the values you want - although I am a little concerned that you have only specified a single level for each tracer. The example job has 38 levels.

Regards,

Willie

comment:6 Changed 9 years ago by cbirch

Hi Willie,

Thanks for pointing out the mistake with the versions. I have corrected this.

I am confused as to why the example tracer ancillary file (/work/n02/n02/hum/vn6.1/ancil/atmos/Euro_trcr/ETEX2zeroinit_15Z.pp1) splits the 38 model levels into two variables - containing the lowest level and the other 37 levels?

I have tried replicating this for my job (see hoggar_tracer1T_ancil4.job and Hog_tracer1T_ancil4.nc in /home/n02/n02/cbirch/work/tracers) but when I try to convert the netcdf file in xancil I get this error:

Writing Generalised ancillary file 1 /home/n02/n02/cbirch/work/tracers/Hog_tracer1T_ancil4.pp1

ERROR: variable hybrid_ht from NetCDF file /work/n02/n02/cbirch/tracers/Hog_tracer1T_ancil4.nc doesn't contain the standard_name attribute needed to calculate vertical level values.

I am not sure what the standard_name attribute should be. I assume it is the ‘standard field name’ in xconv? I’ve looked at some different ancillary files in xconv and this field is always empty.

I have also tried using just one variable for all 38 levels (see hoggar_tracer1T_ancil5.job and Hog_tracer1T_ancil5.nc in /home/n02/n02/cbirch/work/tracers) and get the same error.

Cheers,
Cathryn

comment:7 Changed 9 years ago by willie

  • Cc j.cole@… added; h.f.dacre@… removed
  • Keywords tracer, ancillary added; tracer removed

Hi Cathryn,

The example job ancillary file structure is an artefact of running the pptoanc program on an PP format file. It is not necessary to replicate the splitting.

I don't know about the Xancil error either, but Jeff Cole should be able to help and I have cc'd him on this.

Regards,

Willie

comment:8 Changed 9 years ago by jeff

Hi Cathryn

There are various ways of specifying the vertical level information in xancil, you must have selected using the netcdf variables to specify this. This only works if your netcdf file follows the CF convention for defining vertical levels, your file does not. The easiest way is to use a namelist file to specify the vertical levels, see http://ncas-cms.nerc.ac.uk//index.php?option=com_wrapper&Itemid=274 under Configuration panels for further information.

Jeff.

comment:9 Changed 9 years ago by cbirch

Hi Jeff,

As you suggested I created a STASHMASTER file using the information from the STASHmaster viewer on the NCAS website.

When using xancil to create the tracer ancillary file I get this error message:

/work/n02/n02/hum/bin/mkancil0.50 failed

lib-4001 : UNRECOVERABLE library error

A READ operation tried to read past the end-of-file.

Encountered during a namelist READ from unit 12
Fortran unit 12 is connected to a sequential formatted text file:

"/work/n02/n02/cbirch/tracers/tracer_STASHmaster"

while executing

"exec $exec_arg < $namelist > $output"

(procedure "run_exec" line 24)
invoked from within

"run_exec $exec"

(procedure "bb_createancil" line 5)
invoked from within

"bb_createancil"

invoked from within

".create invoke"

("uplevel" body line 1)
invoked from within

"uplevel #0 [list $w invoke]"

(procedure "tk::ButtonUp?" line 22)
invoked from within

"tk::ButtonUp? .create"

(command bound to event)

I am not sure whether this is specifically an issue with the format of the STASHmaster file or how I've set the variables within it? This is the first time I have used STASHmaster files so I am not sure. The other possibility is that there is a problem with the options I have selected in xancil?

Tracer data:
/home/n02/n02/cbirch/work/tracers/Hog_tracer1T_ancil5.nc

STASHmaster file:
/home/n02/n02/cbirch/work/tracers/tracer_STASHmaster

Xancil job:
/home/n02/n02/cbirch/work/tracers/hoggar_tracer1T_ancil5.job

comment:10 Changed 9 years ago by jeff

Hi Cathryn

There are 2 problems as far as I can see. Number 1 is xancil can't read your STASHmaster file, this is because it is formatted incorrectly. But I'm not sure why you created this file as it looks the same as the information in the standard UM file /work/n02/n02/hum/vn6.1/ctldata/STASHmaster/STASHmaster_A, which xancil has built in. If you do need to create this file the formatting needs to be exactly the same, i.e. all the | need to be in the correct position. You don't need to create this file for xancil, it doesn't create any extra needed information.

The second problem is you have used this STASHmaster file as a vertical namelist, this is wrong and not what the documentation says. I'm not sure what you are doing here but I suggest you reread the documentation.

Jeff.

comment:11 Changed 9 years ago by cbirch

Hi,

I have managed to produce the tracer ancillary file now. Sorry about the problems-I didn't understand the difference between STASHmaster files and namelist files.

I tried to add the tracers to a job (xfbvm), which otherwise works fine and I get this error:

ERROR!!! in reconfiguration in routine Rcf_Set_Data_Source
Error Code:- 30
Error Message:- Stashcode 301 : Required field is not in input dump!
Error generated from processor 0

I think the format of the tracer ancillary file is ok now (/home/n02/n02/cbirch/work/ancils/tracers/Hog_tracer1T_ancil6.pp1). It has a square section of the domain at the lowest level with numbers >0.

If you look at /home/n02/n02/cbirch/work/xfbvm/xfbvm.astart it has split each tracer into 2 different fields and the points that I set to be >0 in the ancillary file appear as zero.

I'm not sure why this is or why the model cannot find the tracer fields in the input dump? I am assumming that 'input dump' means the astart file?

Cheers,
Cathryn

comment:12 Changed 9 years ago by willie

Hi Cathryn,

Your ancillary file has STASH numbers 33011 etc; you script insert mktracer_scr_6.1 needs to agree with this. You have 311 etc in this file.

Regards,

Willie

comment:13 Changed 9 years ago by cbirch

Hi Willie,

I changed the numbers and re-submitted but I still get the same error message. Any ideas?

Cheers,
Cathryn

comment:14 Changed 9 years ago by willie

Hi Cathryn,

You need to change the tracer source levels to -1 (all of them) in the mktracer_scr_6.1 file. Otherwise it thinks you are trying to set up emissions.

Regards,

Willie

comment:15 Changed 9 years ago by cbirch

Hi Willie,

I tried that and I still get the same error message. I'm still not sure what the problem is?

I had in fact tried exactly what you suggested before (changing the 1's to -1 and the stash codes to 33011 etc) because I tried my run using mktracer_nosrc_6.1. This is the other file on the website at http://ncas-cms.nerc.ac.uk/~ros/joomla_cms/index.php/mesoscale-modelling/running-the-um/1424-using-tracers-with-the-um. I think the desciption of these is the wrong way round. i.e. it should read:

  1. mktracer_nosrc_6.1 if you are only initializing with tracers, or,
  2. mktracer_src_6.1 if you are initializing with tracers and including tracer sources.

Cheers,
Cathryn

comment:16 Changed 9 years ago by willie

Hi Cathryn,

This job is significantly different from the standard tracer job, user umui, job xdrb.

I have made a number of changes as follows,

  1. Set the compile time to 2400 sec and the run time to 3600 - this will make the throughput much quicker;
  2. Set your user prognostics table as per the example, pointing to your ancillary file
  3. Set the start date to all zeros
  4. Add the standard reconfiguration modsets

General advice on setting up 6.1 runs can be found at http://ncas-cms.nerc.ac.uk/index.php/mesoscale-modelling/running-the-um/1413-running-the-um-on-hector

It is important that the standard modsets are used.

With the above changes, I get as far as Error code 2: Wrong number of LBC variables in LBC file. This is because your LBC file contains cloud fractions. I also note that your job xfbva, which produces the LBC file, does not have the right modsets. For a standard 6.1 job see user 'umui' job xdgn. I suggest that the job xfbva needs to be run again with the cloud fractions switched off.

Where did you get the initial jobs from? I would strongly recommend starting from our standard jobs and taking small steps. Lois and Grenville will be coming up to give a short tutorial on the 24th Nov and will be able to answer questions.

Regards,

Willie

comment:17 Changed 9 years ago by cbirch

Thanks for your help so far.

I copied the jobs from Gerry Devine. He had set them up when he was at Leeds to look at the effect of orography on the Saharan boundary layer. Since then he left Leeds and I took over this bit of research. I assumed they were set up correctly, although Gerry probably set them up a while ago so things may have changed. The only things I have altered in the jobs are to do with the tracers.

I am not sure where on the umui you turn the LBC cloud fractions off for job xfbva? I also checked the LBC file (/home/n02/n02/cbirch/work/xfbva/xfbva.alabcou1) in xconv and the cloud fractions are not in there. So I am not quite sure what you meant?

One other question - why do the start dates need to be zero?

Cheers,
Cathryn

comment:18 Changed 9 years ago by cbirch

Hi,

Was wondering if you'd made any progress with this.

Also, I had to archive a load of stuff so I've moved the LBC file to:

/home/n02/n02/cbirch/work/LBCs/Hoggar/xfbva.alabcou1

Cheers,
Cathryn

comment:19 Changed 9 years ago by willie

Hi Cathryn,

Thanks for letting me know where the LBC went. The last time I looked there was an error 2, wrong number of prognostic variables in the LBC file. But this file looks OK to me: it has the same number and type of fields as the standard tracer job. I'll continue to look at this.

Regards,

Willie

comment:20 Changed 9 years ago by willie

H Cathryn,

I have made some progress. My job xfokb now includes the tracer modsets and gets past the Error 2. The current error is 101 "Boundary data starts after current boundary data interval". To solve this I think we need to do the following,

  1. remove the date hand edit
  2. re-create the tracer ancillary file with the start date of 2006/06/24:12

Could you do the second step, please? I am hopeful that we're getting near the solution.

Regards,

Willie

comment:21 Changed 9 years ago by cbirch

Hi Willie,

The new tracer ancillary file is here:
/work/n02/n02/cbirch/ancils/tracers/Hog_tracer1T_ancil7.pp1

Cheers,
Cathryn

comment:22 Changed 9 years ago by willie

Hi Cathryn,

Success! My job xfokb has run for 419 time steps before running out of time. The main points were to set the date of the files correctly and to include the standard tracer modsets.

Regards,

Willie

comment:23 Changed 9 years ago by cbirch

Hi Willie,

I have ran the job and the results look sensible. You can close this ticket now if you like.

Thanks a lot for all your help with this. It is much appreciated!

Cathryn

comment:24 Changed 9 years ago by willie

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets.