Atmosphere model components

Reading boundary conditions from a file

Options

-atmosphere given

Variables

air_temp, precipitation \(kg / (m^{2} s)\)

C++ class

pism::atmosphere::Given

See also

Reading top-surface boundary conditions from a file

Note

This is the default choice.

A file foo.nc used with -atmosphere given -atmosphere_given_file foo.nc should contain several records; the time variable should describe what model time these records correspond to.

This model component was created to force PISM with sampled (possibly periodic) climate data, e.g. using monthly records of air_temp and precipitation.

It can also used to drive a temperature-index (PDD) climatic mass balance computation (section Temperature-index scheme).

Parameters

Prefix: atmosphere.given.

  1. file Name of the file containing climate forcing fields.

  2. periodic (no) If true, interpret forcing data as periodic in time

Cosine yearly cycle

Options

-atmosphere yearly_cycle

Variables

air_temp_mean_annual, air_temp_mean_july, precipitation \(kg / (m^{2} s)\) amplitude_scaling

C++ class

pism::atmosphere::CosineYearlyCycle

This atmosphere model component computes the near-surface air temperature using the following formula:

\[T(\mathrm{time}) = T_{\text{mean annual}} + A(\mathrm{time})\cdot(T_{\text{mean July}} - T_{\text{mean annual}}) \cdot \cos(2\pi t),\]

where \(t\) is the year fraction “since last July”; the summer peak of the cycle is on atmosphere­.fausto_air_temp­.summer_peak_day, which is set to day \(196\) by default (approximately July 15).

Here \(T_{\text{mean annual}}\) (variable air_temp_mean_annual) and \(T_{\text{mean July}}\) (variable air_temp_mean_july) are read from a file selected using the command-line option -atmosphere_yearly_cycle_file. A time-independent precipitation field (variable precipitation) is read from the same file.

Optionally a time-dependent scalar amplitude scaling \(A(t)\) can be used. Specify a file to read it from using the -atmosphere_yearly_cycle_scaling_file command-line option. Without this option \(A(\mathrm{time}) \equiv 1\).

Parameters

Prefix: atmosphere.yearly_cycle.

  1. file Name of the file containing mean annual and mean July temperatures (air_temp_mean_annual and air_temp_mean_summer) and the precipitation field.

  2. scaling­.file Name of the file containing amplitude scaling (amplitude_scaling) for the near-surface air temperature.

  3. scaling­.periodic (no) If true, interpret forcing data as periodic in time

SeaRISE-Greenland

Options

-atmosphere searise_greenland

Variables

lon, lat, precipitation \(kg / (m^{2} s)\)

C++ class

pism::atmosphere::SeaRISEGreenland

See also

Precipitation correction using scalar temperature offsets

This atmosphere model component implements a longitude, latitude, and elevation dependent near-surface air temperature parameterization and a cosine yearly cycle described in [140] and uses a constant in time ice-equivalent precipitation field (in units of thickness per time, variable precipitation) that is read from an input (-i) file. To read time-independent precipitation from a different file, use the option -atmosphere_searise_greenland_file.

The air temperature parameterization is controlled by configuration parameters with the prefix atmosphere.fausto_air_temp:

  1. c_ma (-0.7189 Kelvin / degree_north) latitude-dependence coefficient for formula (1) in [140]

  2. c_mj (-0.1585 Kelvin / degree_north) latitude-dependence coefficient for formula (2) in [140]

  3. d_ma (314.98 Kelvin) 41.83+273.15; base temperature for formula (1) in [140]

  4. d_mj (287.85 Kelvin) = 14.70+273.15; base temperature for formula (2) in [140]

  5. gamma_ma (-0.006309 Kelvin / meter) = -6.309 / 1km; mean slope lapse rate for formula (1) in [140]

  6. gamma_mj (-0.005426 Kelvin / meter) = -5.426 / 1km; mean slope lapse rate for formula (2) in [140]

  7. kappa_ma (0.0672 Kelvin / degree_west) longitude-dependence coefficient for formula (1) in [140]

  8. kappa_mj (0.0518 Kelvin / degree_west) longitude-dependence coefficient for formula (2) in [140]

  9. summer_peak_day (196 ordinal day number) day of year for July 15; used in corrected formula (4) in [140]

See Precipitation correction using scalar temperature offsets for an implementation of the SeaRISE-Greenland formula for precipitation adjustment using air temperature offsets relative to present; a 7.3% change of precipitation rate for every one degree Celsius of temperature change [31].

PIK

Options

-atmosphere pik

Variables

lat, lon, precipitation

C++ class

pism::atmosphere::PIK

This model component reads a time-independent precipitation field from an input file specified by atmosphere­.pik­.file and computes near-surface air temperature using a parameterization selected using atmosphere­.pik­.parameterization.

Note

  • Parameterizations implemented in this model are appropriate for the Antarctic ice sheet.

  • All parameterizations except for the first one implement a cosine annual cycle of the near-surface air temperature.

Table 36 Near-surface air temperature parameterizations

Keyword

Description

martin (default)

Uses equation (1) from [52] to parameterize mean annual temperature with no seasonal variation in temperature.

huybrechts_dewolde

Mean annual and mean summer temperatures are computed using parameterizations for the Antarctic ice sheet described in [45] (equations C1 and C2).

martin_huybrechts_dewolde

Hybrid of the two above: mean annual temperature as in [52] with the amplitude of the annual cycle from [45].

era_interim

Mean annual and mean summer temperatures use parameterizations based on multiple regression analysis of ERA INTERIM data.

era_interim_sin

Mean annual and mean summer temperatures use parameterizations based on multiple regression analysis of ERA INTERIM data with a \(\sin(\text{latitude})\) dependence.

era_interim_lon

Mean annual and mean summer temperatures use parameterizations based on multiple regression analysis of ERA INTERIM data with a \(\cos(\text{longitude})\) dependence.

See PIK for a surface model that implements the martin choice as a parameterization of the ice temperature at its top surface.

One weather station

Options

-atmosphere one_station -atmosphere_one_station_file

Variables

air_temp [Kelvin], precipitation \(kg / (m^{2} s)\)

C++ class

pism::atmosphere::WeatherStation

This model component reads scalar time-series of the near-surface air temperature and precipitation from a file specified using atmosphere­.one_station­.file and uses them at all grid points in the domain. In other words, resulting climate fields are constant in space but not necessarily in time.

The -atmosphere one_station model should be used with a modifier such as elevation_change (see section Adjustments using modeled change in surface elevation) to create spatial variablitity.

Scalar temperature offsets

Options

-atmosphere ...,delta_T

Variables

delta_T

C++ class

pism::atmosphere::Delta_T

This modifier applies scalar time-dependent air temperature offsets to the output of an atmosphere model.

Please make sure that delta_T has the units of “Kelvin”.

Parameters

Prefix: atmosphere.delta_T.

  1. file Name of the file containing temperature offsets.

  2. periodic (no) If true, interpret forcing data as periodic in time

Scalar precipitation offsets

Options

-atmosphere ...,delta_P

Variables

delta_P \(kg / (m^{2} s)\)

C++ class

pism::atmosphere::Delta_P

This modifier applies scalar time-dependent precipitation offsets to the output of an atmosphere model.

Parameters

Prefix: atmosphere.delta_P.

  1. file Name of the file containing scalar precipitation offsets.

  2. periodic (no) If true, interpret forcing data as periodic in time

Precipitation scaling

Options

-atmosphere ...,frac_P

Variables

frac_P [1]

C++ class

pism::atmosphere::Frac_P

This modifier scales precipitation output of an atmosphere model using a time-dependent precipitation fraction, with a value of one corresponding to no change in precipitation. It supports both 1D (scalar) and 2D (spatially-variable) factors.

If the variable frac_P in the input file (see atmosphere­.frac_P­.file) depends on time only it is used as a time-dependent constant-in-space scaling factor.

If the variable frac_P has more than one dimension PISM tries to use it as a time-and-space-dependent scaling factor.

Parameters

Prefix: atmosphere.frac_P.

  1. file Name of the file containing scalar precipitation scaling.

  2. periodic (no) If true, interpret forcing data as periodic in time

Precipitation correction using scalar temperature offsets

Options

-atmosphere ...,precip_scaling

Variables

delta_T [degrees Kelvin]

C++ class

pism::atmosphere::PrecipitationScaling

This modifier implements the SeaRISE-Greenland formula for a precipitation correction from present; a 7.3% change of precipitation rate for every one degree Celsius of air temperature change [31]. See SeaRISE Greenland model initialization for details. The input file should contain air temperature offsets in the format used by -atmosphere ...,delta_T modifier, see section Scalar temperature offsets.

This mechanisms increases precipitation by \(100(\exp(C) - 1)\) percent for each degree of temperature increase, where

\(C =\) atmosphere­.precip_exponential_factor_for_temperature.

Parameters

Prefix: atmosphere.precip_scaling.

  1. file Name of the file containing temperature offsets to use for a precipitation correction.

  2. periodic (no) If true, interpret forcing data as periodic in time

Adjustments using modeled change in surface elevation

Options

-atmosphere ...,elevation_change

Variables

surface_altitude (CF standard name)

C++ class

pism::atmosphere::ElevationChange

The elevation_change modifier adjusts air temperature and precipitation using modeled changes in surface elevation relative to a reference elevation read from a file.

The near-surface air temperature is modified using an elevation lapse rate \(\gamma_T =\) atmosphere­.elevation_change­.temperature_lapse_rate. Here

\[\gamma_T = -\frac{dT}{dz}.\]

Warning

Some atmosphere models (PIK, for example) use elevation-dependent near-surface air temperature parameterizations that include an elevation lapse rate.

In most cases one should not combine such a temperature parameterization with an additional elevation lapse rate for temperature.

Two methods of adjusting precipitation are available:

Parameters

Prefix: atmosphere.elevation_change.

  1. file Name of the file containing the reference surface elevation field (variable usurf).

  2. periodic (no) If true, interpret forcing data as periodic in time

  3. precipitation­.lapse_rate (0 (kg m-2 / year) / km) Elevation lapse rate for the precipitation

  4. precipitation­.method (shift) Choose the precipitation adjustment method. scale: use temperature-change-dependent scaling factor. shift: use the precipitation lapse rate.

  5. precipitation­.temp_lapse_rate (0 Kelvin / km) Elevation lapse rate for the surface temperature used to compute \(\Delta T\) in the precipitation scaling factor \(\exp(C \cdot \Delta T)\)

  6. temperature_lapse_rate (0 Kelvin / km) Elevation lapse rate for the surface temperature

The file specified using atmosphere­.elevation_change­.file may contain several surface elevation records to use lapse rate corrections relative to a time-dependent surface. If one record is provided, the reference surface elevation is assumed to be time-independent.

Using climate data anomalies

Options

-atmosphere ...,anomaly

Variables

air_temp_anomaly, precipitation_anomaly \(kg / (m^{2} s)\)

C++ class

pism::atmosphere::Anomaly

This modifier implements a spatially-variable version of -atmosphere ...,delta_T,delta_P.

Parameters

Prefix: atmosphere.anomaly.

  1. file Name of the file containing climate forcing fields.

  2. periodic (no) If true, interpret forcing data as periodic in time

See also to -surface ...,anomaly (section Using climate data anomalies), which is similar but applies anomalies at the surface level.

Orographic precipitation

Options

-atmosphere ...,orographic_precipitation

Variables

None

C++ class

pism::atmosphere::OrographicPrecipitation

This modifier implements the linear orographic precipitation model described in [151] with a modification incorporating the influence of the Coriolis force from [152].

We compute the Fourier transform of the precipitation field using the formula below (see equation 49 in [151] or equation 3 in [152]).

(43)\[\hat P_{\text{LT}}(k, l) = \frac{C_w i \sigma \hat h(k, l)} {(1 - i m H_w) (1 + i \sigma \tau_c) (1 + i \sigma \tau_f)},\]

where \(h\) is the surface elevation, \(C_w = \rho_{S_{\text{ref}}} \Gamma_m / \gamma\) relates the condensation rate to vertical motion (see the appendix of [151]), \(m\) is the vertical wavenumber (see equation 6 in [152]), and \(\sigma\) is the intrinsic frequency. The rest of the constants are defined below.

The spatial pattern of precipitation is recovered using an inverse Fourier transform followed by post-processing:

(44)\[P = \max(P_{\text{pre}} + P_{\text{LT}}, 0) \cdot S + P_{\text{post}}.\]

Note

  • Discontinuities in the surface gradient (e.g. at ice margins) may cause oscillations in the computed precipitation field (probably due to the Gibbs phenomenon). To address this our implementation includes the ability to smooth the surface topography using a Gaussian filter. Set atmosphere­.orographic_precipitation­.smoothing_standard_deviation to a positive number to enable smoothing. Values around \(\dx\) appear to be effective.

  • The spectral method used to implement this model requires that the input (i.e. surface elevation \(h\)) is periodic in \(x\) and \(y\). To simulate periodic \(h\) the implementation uses an extended grid (see atmosphere­.orographic_precipitation­.grid_size_factor) and pads modeled surface elevation with zeros.

    It is worth noting that the resulting precipitation field \(P_{\text{LT}}\) is also periodic in \(x\) and \(y\) on the extended grid. The appropriate size of this extended grid may differ depending on the spatial scale of the domain and values of model parameters.

It is implemented as a “modifier” that overrides the precipitation field provided by an input model. Use it with a model providing air temperatures to get a complete model. For example, -atmosphere yearly_cycle,orographic_precipitation ... would use the annual temperature cycle from yearly_cycle combined with precipitation computed using this model.

The only spatially-variable input of this model is the surface elevation (\(h\) above) modeled by PISM.

Parameters

Prefix: atmosphere.orographic_precipitation.

  1. background_precip_post (0 mm/hr) Background precipitation \(P_{\mathrm{post}}\) added after the truncation.

  2. background_precip_pre (0 mm/hr) Background precipitation \(P_{\mathrm{pre}}\) added before the truncation.

  3. conversion_time (1000 s) Cloud conversion time \(\tau_c\)

  4. coriolis_latitude (0 degrees_N) Latitude used to compute Coriolis force

  5. fallout_time (1000 s) Fallout time \(\tau_f\)

  6. grid_size_factor (2) The size of the extended grid is (Z*(grid.Mx - 1) + 1, Z*(grid.My - 1) + 1) where Z is given by this parameter.

  7. lapse_rate (-5.8 K / km) Lapse rate \(\gamma\)

  8. moist_adiabatic_lapse_rate (-6.5 K / km) Moist adiabatic lapse rate \(\Gamma_m\)

  9. moist_stability_frequency (0.05 1/s) Moist stability frequency \(N_m\)

  10. reference_density (0.0074 kg m-3) Reference density \(\rho_{S_{\text{ref}}}\)

  11. scale_factor (1) Precipitation scaling factor \(S\).

  12. smoothing_standard_deviation (0 m) Standard deviation of the Gaussian filter used to smooth surface elevation or zero if disabled

  13. truncate (true) Truncate precipitation at 0, disallowing negative precipitation values.

  14. water_vapor_scale_height (2500 m) Water vapor scale height \(H_w\)

  15. wind_direction (270 degrees) The direction the wind is coming from

  16. wind_speed (10 m/s) The wind speed.


Previous Up Next