Atmosphere model components¶
Contents
Reading boundary conditions from a file¶
 Options
atmosphere given
 Variables
air_temp
,precipitation
\(kg / (m^{2} s)\) C++ class
pism::atmosphere::Given
 See also
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 temperatureindex (PDD) climatic mass balance computation (section Temperatureindex scheme).
Parameters
Prefix: atmosphere.given.
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 nearsurface air temperature using the following formula:
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
commandline option atmosphere_yearly_cycle_file
. A timeindependent precipitation
field (variable precipitation
) is read from the same file.
Optionally a timedependent scalar amplitude scaling \(A(t)\) can be used. Specify a
file to read it from using the atmosphere_yearly_cycle_scaling_file
commandline
option. Without this option \(A(\mathrm{time}) \equiv 1\).
Parameters
Prefix: atmosphere.yearly_cycle.
file
Name of the file containing mean annual and mean July temperatures (air_temp_mean_annual
andair_temp_mean_summer
) and theprecipitation
field.scaling
.file
Name of the file containing amplitude scaling (amplitude_scaling
) for the nearsurface air temperature.scaling
.periodic
(no) If true, interpret forcing data as periodic in time
SeaRISEGreenland¶
 Options
atmosphere searise_greenland
 Variables
lon
,lat
,precipitation
\(kg / (m^{2} s)\) C++ class
pism::atmosphere::SeaRISEGreenland
 See also
This atmosphere model component implements a longitude, latitude, and elevation dependent
nearsurface air temperature parameterization and a cosine yearly cycle described in
[1] and uses a constant in time iceequivalent precipitation field (in units
of thickness per time, variable precipitation
) that is read from an input (i
)
file. To read timeindependent 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
:
c_ma
(0.7189 Kelvin / degree_north) latitudedependence coefficient for formula (1) in [1]c_mj
(0.1585 Kelvin / degree_north) latitudedependence coefficient for formula (2) in [1]d_ma
(314.98 Kelvin) 41.83+273.15; base temperature for formula (1) in [1]d_mj
(287.85 Kelvin) = 14.70+273.15; base temperature for formula (2) in [1]gamma_ma
(0.006309 Kelvin / meter) = 6.309 / 1km; mean slope lapse rate for formula (1) in [1]gamma_mj
(0.005426 Kelvin / meter) = 5.426 / 1km; mean slope lapse rate for formula (2) in [1]kappa_ma
(0.0672 Kelvin / degree_west) longitudedependence coefficient for formula (1) in [1]kappa_mj
(0.0518 Kelvin / degree_west) longitudedependence coefficient for formula (2) in [1]summer_peak_day
(196 ordinal day number) day of year for July 15; used in corrected formula (4) in [1]
See Precipitation correction using scalar temperature offsets for an implementation of the SeaRISEGreenland 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 [2].
PIK¶
 Options
atmosphere pik
 Variables
lat
,lon
,precipitation
 C++ class
pism::atmosphere::PIK
This model component reads a timeindependent precipitation field from an input file
specified by atmosphere
.pik
.file
and computes nearsurface 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 nearsurface air temperature.
Keyword 
Description 


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

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

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

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

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

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 timeseries of the nearsurface 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 timedependent 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.
Scalar precipitation offsets¶
 Options
atmosphere ...,delta_P
 Variables
delta_P
\(kg / (m^{2} s)\) C++ class
pism::atmosphere::Delta_P
This modifier applies scalar timedependent precipitation offsets to the output of an atmosphere model.
Parameters
Prefix: atmosphere.delta_P.
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 timedependent precipitation fraction, with a value of one corresponding to no change in precipitation. It supports both 1D (scalar) and 2D (spatiallyvariable) factors.
If the variable frac_P
in the input file (see atmosphere
.frac_P
.file
) depends
on time only it is used as a timedependent constantinspace scaling factor.
If the variable frac_P
has more than one dimension PISM tries to use it as a
timeandspacedependent scaling factor.
Parameters
Prefix: atmosphere.frac_P.
Precipitation correction using scalar temperature offsets¶
 Options
atmosphere ...,precip_scaling
 Variables
delta_T
[degrees Kelvin] C++ class
pism::atmosphere::PrecipitationScaling
This modifier implements the SeaRISEGreenland formula for a precipitation correction from
present; a 7.3% change of precipitation rate for every one degree Celsius of air
temperature change [2]. 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.
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 nearsurface air temperature is modified using an elevation lapse rate \(\gamma_T =\)
atmosphere
.elevation_change
.temperature_lapse_rate
. Here
Warning
Some atmosphere models (PIK, for example) use elevationdependent nearsurface 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:
Scaling using an exponential factor
\[\mathrm{P} = \mathrm{P_{input}} \cdot \exp(C \cdot \Delta T),\]where \(C =\)
atmosphere
.precip_exponential_factor_for_temperature
and \(\Delta T\) is the temperature difference produced by applying the lapse rateatmosphere
.elevation_change
.precipitation
.temp_lapse_rate
.This mechanisms increases precipitation by \(100(\exp(C)  1)\) percent for each degree of temperature increase.
To use this method, set
precip_adjustment scale
.Elevation lapse rate for precipitation
\[\mathrm{P} = \mathrm{P_{input}}  \Delta h \cdot \gamma_P,\]where \(\gamma_P =\)
atmosphere
.elevation_change
.precipitation
.lapse_rate
and \(\Delta h\) is the difference between modeled and reference surface elevations.To use this method, set
smb_adjustment shift
.
Parameters
Prefix: atmosphere.elevation_change.
file
Name of the file containing the reference surface elevation field (variableusurf
).periodic
(no) If true, interpret forcing data as periodic in timeprecipitation
.lapse_rate
(0 (kg m2 / year) / km) Elevation lapse rate for the precipitationprecipitation
.method
(shift
) Choose the precipitation adjustment method.scale
: use temperaturechangedependent scaling factor.shift
: use the precipitation lapse rate.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)\)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 timedependent
surface. If one record is provided, the reference surface elevation is assumed to be
timeindependent.
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 spatiallyvariable version of atmosphere
...,delta_T,delta_P
.
Parameters
Prefix: atmosphere.anomaly.
file
Name of the file containing climate forcing fields.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 [5] with a modification incorporating the influence of the Coriolis force from [6].
We compute the Fourier transform of the precipitation field using the formula below (see equation 49 in [5] or equation 3 in [6]).
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 [5]), \(m\) is the vertical wavenumber (see equation 6 in [6]), 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 postprocessing:
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 spatiallyvariable input of this model is the surface elevation (\(h\) above) modeled by PISM.
Parameters
Prefix: atmosphere.orographic_precipitation.
background_precip_post
(0 mm/hr) Background precipitation \(P_{\mathrm{post}}\) added after the truncation.background_precip_pre
(0 mm/hr) Background precipitation \(P_{\mathrm{pre}}\) added before the truncation.conversion_time
(1000 s) Cloud conversion time \(\tau_c\)coriolis_latitude
(0 degrees_N) Latitude used to compute Coriolis forcefallout_time
(1000 s) Fallout time \(\tau_f\)grid_size_factor
(2) The size of the extended grid is(Z*(grid.Mx  1) + 1, Z*(grid.My  1) + 1)
whereZ
is given by this parameter.lapse_rate
(5.8 K / km) Lapse rate \(\gamma\)moist_adiabatic_lapse_rate
(6.5 K / km) Moist adiabatic lapse rate \(\Gamma_m\)moist_stability_frequency
(0.05 1/s) Moist stability frequency \(N_m\)reference_density
(0.0074 kg m3) Reference density \(\rho_{S_{\text{ref}}}\)scale_factor
(1) Precipitation scaling factor \(S\).smoothing_standard_deviation
(0 m) Standard deviation of the Gaussian filter used to smooth surface elevation or zero if disabledtruncate
(true) Truncate precipitation at 0, disallowing negative precipitation values.water_vapor_scale_height
(2500 m) Water vapor scale height \(H_w\)wind_direction
(270 degrees) The direction the wind is coming fromwind_speed
(10 m/s) The wind speed.
Previous  Up  Next 