monarchs.physics.firn.firn_column.firn_column

monarchs.physics.firn.firn_column.firn_column(cell, dt, dz, met_data, toggle_dict)

Perform the various processes applied to the firn each timestep where we don’t have exposed water at the surface.

The logic works as follows: Solve heat equation for firn

If surface temperature is above melting point of water (i,e melting takes place):

  • Determine the height change as a result of the melting

  • Regrid everything to take account for this deformation

  • Re-solve heat equation, now with fixed surface temperature

  • Calculate the amount of water added to the surface as a result of melt

  • Percolate that water down, taking into account any lids or lakes that may

  • have formed.

Otherwise: - Update cell temperature and continue.

Parameters:
  • cell (numpy structured array) – Element of the model grid we are operating on.

  • dt (int) – Number of seconds in the current timestep [s]

  • dz (float) – Height of each vertical point in the cell. [m]

  • met_data (dict) – Dictionary containing the meteorological data for the current timestep. This contains the following keys:

    lw_infloat

    Downwelling longwave radiation at the current timestep. [W m^-2]

    sw_infloat

    Downwelling shortwave radiation at the current timestep. [W m^-2]

    air_tempfloat

    Surface air temperature at the current timestep. [K]

    p_airfloat

    Surface air pressure at the current timestep. [Pa]

    dew_point_temperaturefloat

    Dewpoint temperature of the air at the surface at the current timestep. [K]

    windfloat

    Wind speed at the surface at the current timestep. [m s^-1]

  • toggle_dict (dict) – Dictionary containing some switches that affect the running of the model.

Return type:

None (amends cell inplace)