Opened 2 years ago

Closed 2 years ago

#2284 closed help (fixed)

Adding new diagnostics in UM

Reported by: jfgu Owned by: willie
Component: UM Model Keywords: STASH
Cc: Platform: ARCHER
UM Version: 10.6

Description

Dear CMS helpdesk,

I am now trying to add new diagnostics which currently don’t exist in UM. However, I don't know how to do that. Do someone know how to add new diagnostics in UM? Or please could you suggest someone else who might know or some helpful documents? Thank you very much!

Best regards
Jian-Feng

Change History (5)

comment:1 Changed 2 years ago by willie

  • Keywords STASH added
  • Owner changed from um_support to willie
  • Status changed from new to accepted

Hi Jian-Feng,

A good starting point is UMPD C04 "Storage Handling and Diagnostics System" which can be found on the Met Office Science repository at https://code.metoffice.gov.uk/doc/um/vn10.8/papers/umdp_C04.pdf. If the diagnostics really are new, then in addition to creating a STASH master entry, you will have to write some code to create the new diagnostic.

Regards,
Willie

comment:2 Changed 2 years ago by jfgu

Hi Willie,

Thank you for your suggestion. I followed the instruction in the document and tried to add the code in the model. The model has successfully gone through the compling and reconfiguration stage. However, the job stopped at the beginning of the simulations. Pat of the job error information says as follows:

exceptions: [backtrace]: (  1) : update_conv_diags$update_conv_diags_mod__cray$mt$p0001 in file /work/n02/n02/jfgu/cylc-run/u-aq580/share/fcm_make/preprocess-atmos/src/um/src/atmosphere/convection/update_conv_diags.F90 line 476
exceptions: [backtrace]: (  2) : Address: [0x004197f0]
exceptions: [backtrace]: (  9) : update_conv_diags$update_conv_diags_mod_ in file /work/n02/n02/jfgu/cylc-run/u-aq580/share/fcm_make/preprocess-atmos/src/um/src/atmosphere/convection/update_conv_diags.F90 line 1293
exceptions: [backtrace]: ( 10) : Address: [0x011b8583] 
exceptions: [backtrace]: (  7) : _cray$mt_start_one_code_parallel(int, omp_proc_bind_t, void (*)(), void*, long*, long) (* Cannot Locate *)
exceptions: [backtrace]: (  8) : Address: [0x02de6522] 
exceptions: [backtrace]: (  8) : _cray$mt_execute_parallel_with_proc_bind (* Cannot Locate *)
exceptions: [backtrace]: (  9) : Address: [0x011d1d60] 

I went to the update_conv_diags.F90 fortran code, the line that is informed as a problem is the new code I have added.The code is like this:

dcpbydt_conv(i,j) = dcpbydt_conv(i,j) +it_dcpbydtconv(i,j)*one_over_conv_calls

I didn't see any syntax errors in this code. Therefore, I suspect that the problem is probably related with parallel things. Do you have any idea what the problem might be?

Thank you!

Best regards
Jian-Feng


comment:3 Changed 2 years ago by willie

Hi Jian-Feng,

If it compiles correctly there will be no syntax errors, but run time errors are possible. The output from job u-aq580 has been deleted so I can't comment further. Is this still a problem?

Regards
Willie

comment:4 Changed 2 years ago by jfgu

Hi Willie,

Thanks for replying. I have figure out the problem.

Jian-Feng

comment:5 Changed 2 years ago by willie

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