Nudging

From UKCA
Revision as of 13:54, 16 February 2018 by Mdalvi (talk | contribs) (→‎Using Nudging UM10.3-UM10.9 (GA7x suites))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

The ability of a climate model to realistically reproduce the state of the atmosphere, the weather, is useful to study processes with short timescales. Nudging, or Newtonian relaxation, is a simple form of data assimilation that adjusts dynamical variables of free running Global Climate Models (GCMs) using meteorological re-analysis data to give a realistic representation of the atmosphere at a given time. The variables in the Unified Model (UM) that can be currently nudged are: horizontal wind components (u and v) and potential temperature (θ) by using the ERA-Interim Analyses, ECMWF ERA-40 data (augmented by Operational analyses), UM Analyses or the Japanese 25-year Re-Analysis (JRA-25).

The nudging code in the UM carries out two main operations: bringing the analysis data onto the model grid and time-steps; and relaxing the dynamical variables to this data. The interpolation on to the model grid and time-step is currently done through simple linear and bi-linear interpolation, using Ln(Surface pressure) for vertical interpolation of data on hybrid levels. The analyses are introduced into the model by the addition of a non-physical term to the model equations. The change in a variable (ΔX) is given by

where, is the value of the nudged variable in the analyses; is the value of the variable in the model and G is a constant, known as the relaxation parameter. The value of G can be fairly arbitrary, though keeping it too small will render the technique ineffective, while making it too strong can introduce instabilities. The recommended value of G is 1 / (time frequency of analysis data). A detailed description of the methodology, UM nudging experiments and sensitivity studies can be found in Telford et al, 2008.

The Nudged model was developed originally at the University of Cambridge under the Met Office - NCAS (National Centre for Atmospheric Sciences) collaboration for UM6.1 but finally lodged in the main UM trunk at version 7.7. It is also available at UM version 7.3 on the MONSooN and HECToR systems through the NCAS PUMA service. It is represented in the UM by a dedicated code section viz Section 39. Peter Watson has also ported the nudging code to UM6.6.3 on hector.

There are three main applications of the nudged model. The first is to allow comparisons to episodic datasets, such as campaigns or satellites, see for instance Voulgarakis et al. (2011). The second is to produce hindcasts of a particular period of interest, such as the eruption of Mt. Pinatubo (see Telford et al (2009) and Telford et al (2010)) or Mt. Sarychev (see Haywood et al (2010)). The third use is in model intercomparisons where we want to ensure that the large scale circulation is the same between models (see Russo et al (2010) or Hoyle et al (2010)).

Analysis Data

The original analysis data have to be processed before they can be used with the UM. For example, in case of ERA-Interim data the variables are obtained at T255 resolution on ECMWF hybrid-p levels at six hourly intervals and interpolated to N48 using the convsh utility. The pre-processed files are in NetCDF7 with standardised dimension and variable names.

The available ECMWF ERA-Interim data (and ERA-40 and Operational) is normally on hybrid p levels and includes Ln(Psurf) required for vertical interpolation, though ECMWF data on standard pressure levels can also been used. No vertical interpolation is done for the UM analyses and hence these have to be on the exact levels as the proposed model setup (though this can produce errors in regions such as the Andes). The JRA-25 data are expected to be on standard pressure levels. Each NetCDF file must contain a single time record. The file naming convention for the data files based on the existing available file types is as follows:

  • ECMWF ERA-Interim data on hybrid levels: ecm-e40_1deg-model-levs_YYYYMMDDHH_all.nc
  • ECMWF data on fixed pressure levels: ecm-e40_1deg-model-levs_YYYYMMDDHH_all.nc
  • UM Analysis on model levels: HPYYYYMMDDHH00.GLOUM6.nc
  • JRA-25 data on pressure levels: JRAYYYYMMDDHH_all.nc

Currently pre-processed ERA-Interim data on hybrid levels are available from Jan 1979 to Jun 2011 with a 6 hourly interval. These are located at /nerc/ukca/analyses/era-in/ on the MONSooN system and /work/n02/n02/ptelford/analyses/era-in on HECToR. The available data for other sources covers a limited period only. Note that the UM has not yet been tested extensively with ECMWF pressure level data or UM analyses. For obtaining additional ECMWF data, or data for other sources, please contact Paul Telford at Cambridge Univ.

Getting a Nudged Job Working

In versions of the code where the nudging has been lodged the nudging can be turned on and parameters varied using its UMUI panel. In previous versions of the code modifications have to be made to the code.

Using Nudging UM10.3-UM10.9 (GA7x suites)

A. For converting to Gregorian calendar

1. GA7x suites are more flexible in terms of calendar and many of the basic settings get switched by selecting CALENDAR="gregorian" in top-level rose-edit or rose-suite.conf.

2. However, if using CMIP5 Y2000 UKCA NetCDF emissions files (and possibly other user-modified ancils) there will be a mismatch in calendar type between the files and model.
For UKCA emissions, use files under /projects/ukca-admin/inputs/ancil/gregorian/n96e
If using any other ancils not from the base GA7 suite, use the appropriate files with calendar = Greogrian set in the header (FIXHD(8)=1).
Note: CMIP6 UKCA emission files are flexible in terms of calendar and do not need to be replaced. The emissions code will apply the correct timestamps while reading these files.

3. Climate Meaning: Between UM10.3 and UM10.9, there is a bug in the UM as well as Rose code, which means that climate meaning does not work when using Gregorian calendar. To fix the issue:
a. Use a fixes branch for the given version as specified in UM ticket 3007
b. In app/um/rose-app.conf (app/um/opt/rose-app-gregorian.conf if present), make sure item meanfreqim under [namelist:nlstcgen] is active (i.e. not '!!' in front) and set it to '30,3,4,0':
[namelist:nlstcgen]
meanfreqim=30,3,4,0
..

B. Switch On Nudging:
In panel um --> namelist --> UM Science Settings --> Sec 39 Nudging, set:
l_nudging=.true.
ndg_analysis_source=0
ndg_datapath='/projects/ukca-admin/analyses/era-in'
ndg_hours_perdata=6
ndg_lev_bottom=12
ndg_lev_top=80
ndg_on_lev_bottom=4
ndg_on_lev_top=2
ndg_relax_tvalue=(0 to disable, else usually 4.629e-05)
ndg_relax_uvalue=(0 to disable, else usually 4.629e-05)
ndg_relax_vvalue=(0 to disable, else usually 4.629e-05)
ndg_strat_fac=1.0

For explanation of the variables, see the UM documentation paper on Nudging: https://code.metoffice.gov.uk/doc/um/latest/papers/umdp_083.pdf

It is recommended to carry out a one-month run to make sure all settings and CLimate meaning is working correctly.

Getting Working under Rose (UM9.0 onwards)

Pdficon small.png UM9.2 Nudging Document Info circle.png, including User Instructions for Nudging under Rose.

Getting Working at UM7.3

The major change required for using nudging with the UM, especially the climate models is that the model setup has to be modified to use the Gregorian (365 day) calendar. This is because most operational/ analysis datasets are produced according to this calendar (and confusion can be caused by Feb. 30th). The 360 day calendar may be used only for short term runs (less than a month) as the discontinuities in the data, such as the exclusion of the 31st of different months can possibly cause instabilities in the simulation.

The ancillary data files used by the UM contain the calendar information (360day/ Gregorian) in their header section. Hence, a change in the calendar type of a UM job to Gregorian requires that ancillaries compatible with that calendar should also be available. A set of the standard HadGEM3 ancillaries compatible with the Gregorian calendar is available on the MONSooN as well as HECToR systems. However, if the users wish to continue using their own or the standard 360 day ancillaries, the procedure for doing so is also described below. Note that this can impact the results as the time interpolation of the ancillary fields in the UM differs for the two calendar types.

The UMUI settings required to use nudging with a HadGEM3 model job are described below:

1. Input/ Output Control and Resources: General Configuration & Control : Unselect the Use 360 day calendar option

2. If the user wants to use ancillary files specifically designed for use with a job with the 365 day calendar then some ancillary files are available (location noted below in point 2A). However it is often more convenient to retain the same ancillary files in a 360 day calendar run. This can be done using an additional fcm branch (fcm:um_br/dev/ptelford/VN7.3_ancil_calswitch/src) and hand edit (/home/ukca/hand_edits/change_cal.ed).

2A. (Ignore if retain exisiting ancillary files) Input/ Output Control and Resources: Time convention and SCRIPT Environment Variables: Change the location of ANCIL_ATMOS and ANCIL_LAND to point to ancillaries compatible with the Gregorian calendar. On the MONSooN, a set of compatible ancillaries normally required by HadGEM3-A N96L38 jobs is available at /projects/ ukca/mdalvi/ancil_365/ and /projects/ukca/mdalvi/ancil_365/LAND respectively. On HECTOR, these are at /work/n02/n02/ukca/ANCILS/ancil_365/ and /work/n02/n02/ ukca/ANCILS/ancil_365/LAND/ respectively. (Note: This change is not required if using the 360day ancillaries where the default/ user-defined paths for the ancillaries are already set).

3. Input/ Output Control and Resources: User Hand_Edit files: Add to the hand_edits list: nudg_update_on_LXX.ed where xx stands for the vertical levels of the current job. For Hector, use the nudg_update_on_LXX_hector.ed hand_edits. These hand_edits add the required control parameters, compilation flags and STASH items to the respective namelists during job processing. The recommended values of the nudging control parameters have been set by default in the hand_edits. However, a description of these parameters is available at the end of this section, in case the user wishes to modify them for a particular UM configuration. For simulation with 360 day ancillaries, the following hand edit needs to be used in addition: /home/ukca/hand_edits/change_cal.ed. On hector the ~annette/hadgem3/hand_edits/load_netcdf.ed needs including to allow the model to compile with the netcdf libraries.

4. FCM Configuration: FCM Options for Atmosphere and Reconfiguration; Include the following two branches:

  • fcm:um_br/dev/ptelford/vn7.3_nudge_updated/src. This contains the main nudging code
  • fcm:um_br/dev/mdalvi/VN7.3_GregorianCal_fixes/src. This branch contains minor fixes which are required for long term Gregorian calendar simulations.
  • For simulations with 360 day ancillaries, include the following additional branch :

fcm:um_br/dev/ptelford/VN7.3_ancil_calswitch/src. This overrides the checking of calendar type while reading the ancillary headers.

5. Atmosphere: Control: Post processing, Dumping & Meaning: Dumping and meaning; Select the option Regular frequency dumps for Gregorian-calendar Meaning. This should automatically set the frequency of restart dumps to 24 hourly and in the Climate meaning section, the profiles to Monthly, Seasonal and Annual means. (Multi- annual means are not currently possible for Gregorian Climate Meaning in the UM)

6. Since the restart dumps will now be created daily, longer simulations are likely to use a lot of disk space. Hence, it is recommended that under the Post Processing: Main Switch + General Questions pane, Automatic Post-processing is selected along with the Delete Superseded restart dumps option. If archiving is not desired, select the No Archiving option.

Getting Working at UM6.6.3

The set up at 6.6.3 is slightly different to 7.3 in that there is no distinction made between the nudging strength in the troposphere and the stratosphere. There are also several technical changes which need making.

  • The branch fcm:um_br/dev/mdalvi/VN7.3_nudge_new needs replacing by fcm:um_br/dev/watson/HG6.6.3_nudge_new at revision 9064.
  • The branch fcm:um_br/dev/ptelford/VN7.3_ancil_calswitch/src needs replacing by fcm:um_br/dev/watson/HG6.6.3_ancil_calswitch.
  • The branch fcm:um_br/dev/mdalvi/VN7.3_GregorianCal_fixes/src still needs porting to v6.6.3. This results in errors to meaning and small errors in loading ancillary files.
  • The hand edits nudg_update_on_LXX.ed or nudg_update_on_LXX_hector.ed need replacing with nudg_on_LXX_6.6.3.ed or nudg_on_LXX_6.6.3_hector.ed (except if using coupled ocean model: see below)
  • The hand edit ~mdalvi/umui_jobs/hand_edits/nudge/nudg_on_L60_HG2_hector.ed is required to run with the coupled ocean model.

Changing Parameters of the Nudging

Again for versions of the model where the nudging has been lodged these changes are made using the UMUI panel. Before this version (7.7) changes have to be made using a hand edit.

The user modifiable control parameters are set at the beginning of the hand_edits nudg_on_Lxx.ed. Users can make a copy of this in their own area on PUMA to make any changes if required.

1. ndg_relax_uvalue; ndg_relax_vvalue, ndg_relax_tvalue; These are the Relaxation Parameters which control the amount by which the corresponding model variable (U,V,T) is nudged towards analysis data. The recommended value for this parameter is 1/(time interval between analyses, in sec). The usual interval for analysis data files is 6 hours (21600 sec)

2. ndg_lev_bottom: This is the lowermost model level from which the nudging will be applied. The lowermost levels should be excluded to avoid errors likely while interpolating from the analysis data levels to the UM levels. In general, it is advisable not to apply nudging in the boundary layer.

3. ndg_lev_top; This is the uppermost model level up to which the variables will be nudged. This value is chosen to avoid the topmost 'sponge' layers of the analyses.

4. ndg_on_lev_bottom, ndg_on_lev_top; These are the number of levels to go from none to full-strength nudging. They specify the span of layers, starting from the lowermost (and topmost) levels selected above, over which the relaxation parameter is gradually applied from zero to full strength.

5. ndg_datapath; This is the location, on the executing node (MONSooN/ HECToR) where the pre-processed analysis files are kept. All the files required for the simulation have to be present in this folder, with one data record in each file.

6. ndg_hours_perdata; Time Interval (in hours) between analysis data files. This has to be uniform throughout the simulation period.

7. ndg_analysis_source; The source and type of analysis (currently 4) that can be used for nudging. The codes for the current analysis sources are as follows:

  • ECMWF ERA-Interim (also ERA-40) data on hybrid levels (0)
  • ECMWF data on standard pressure levels (1)
  • UM Analyses on model levels (2)
  • Japanese Re-Analysis on pressure levels (3)

Only the first option is really supported. There is only a limited amount of data for the other analyses and in the limited tests there is no obvious advantadge to use them.

Paul Telford and Mohit Dalvi August 2010 (updated March 2012)