access_Nudging - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

Nudging in ACCESS/ UM

Nudging has been set up in a number of versions of the UM, and additionally a new spectral nudging scheme has been implemented at CSIRO.

Nudging requires first that the calendar is set to Gregorian, as the nudging input datasets use the Gregorian calendar.

Notes from the UKCA wiki on nudging: http://www.ukca.ac.uk/wiki/index.php/Nudging

Example Jobs

ACCESS1.3 (vn7.3):

  • vaboa (job using nudging code with nudging turned off)
  • vaboq (relaxation nudging)
  • vabos (spectral nudging with 1D filter, applied hourly, filter length 0.1 radian)

vn8.2 GA4:

  • vaeea (relaxation nudging)

vn8.6 GA6:

  • vaaon (relaxation nudging)

Hand Edits

Needed to run the nudging code (files below are on accessdev)

~access/umui_jobs/hand_edits/nudging/mpl_switch.ed (needed only in build jobs)

  • ~access/umui_jobs/hand_edits/nudging/vn7.3/nudg_off.ed (needed for jobs built with this code, where nudging should be off)
  • ~access/umui_jobs/hand_edits/nudging/vn7.3/nudg_erai_relax.ed (nudging using relaxation method)
  • ~pfu599/umui_jobs/hand_edits/nudging/vn7.3/nudg_erai_1d_1hr_p1.ed (nudging with 1D spectral filter, once an hour, using a 0.1 radians filter length). #TODO: move these hand edits to the ~access directory.

Hand edit options occuring in all versions

These options are used for spectral nudging and are required for all model versions using the spectral nudging code

  • ndg_method: type of nudging
  • 0 = relaxation nudging
  • 1 = 2D spectral filter
  • 2 = 1D spectral filter
  • ndg_length_scale: 1 standard deviation (in radians) of the gaussian filter (e.g. 0.1)
  • ndg_frequency. Frequency at which the spectral filter is applied. Must be a multiple of a timestep, up to 6 hours.

Hand edit options required for vn7.3 only

These options are in the umui for newer versions.

  • L_NUDGING: turns nudging on or off
  • ndg_analysis_source:
  • 0 = ecmwf hybrid pressure level data
  • 1 = ecmwf constant pressure level data
  • 2 = data on um hybrid height levels
  • 3 = data on jra reanalysis constant pressure level data
  • ndg_relax_{t,u,v}value: strength of nudging. Default = 4.6296e-5
  • ndg_lev_bottom, ndg_lev_top: Restrict nudging to only be applied between these levels
  • ndg_on_lev_botton, ndg_on_lev_top: From ndg_lev_bottom (top), ramp the nudging strength up to its full value over these number of levels
  • ndg_datapath: Location of host model files (on the machine running the simulation) e.g. ~access/data/nudging/erai/
  • ndg_hours_perdata: Frequency of host model data. (should be 6)

Options hard wired into the code

In nudging_control.F90, some code needs to be modified when changing datasets from the default Met Office datasets.

  • data_source: set to 2 for our erai datasets
  • file_model_basis = 'erai_N96_'
  • Resolution dependant variables: ana_*

Set up nudging at vn8.6 using input datasets on ENDGame grid

Nudging has been implemented in vn8.6, using the branch fcm:um_dev/pfu599/vn8.6_nudging_local_changes. This includes

  • Spectral nudging
  • Nudging optimisation code
  • Local changes for NCI datasets.

Code changes to use an input dataset interpolated to the ENDGame grid were added.

An example of merging nudging code into another branch of um7.3. #vn73

Nudging has been manually merged into the branch: access-svn.nci.org.au/svn/um/branches/dev/uhe005/r4896_ukca_cable,

Required code changes are in revisions between [5525]:5529, so an svn merge of these changes can be applied to another branch.

Routines added:

  • src/atmosphere/nudging (whole folder)
  • src/control/mpp/
  • gather_rows_mpl.F90
  • gather_cols_mpl.F90

Routines modified

  • src/control/top_level/
  • atm_step.F90
  • readlsta.F90
  • include/common/
  • cruntimc.h
  • cntlatm.h

References