GOTM

... now with ice ...

Karsten Bolding

August 7, 2019


Updated 2019-08-15 with new information on YAML-based ice configuration.

The use of submodules has made it much easier to integrate external projects without major risk of side effects.

CMake configuration

This blog contains information that goes along with this.

The inclusion of ice follows the method used to include FABM. A CMake variable GOTM_USE_STIM can be on or off - default will be off. As STIM can only be configured as a submodule no further configuration is necessary.

STIM provides a frame-work for including a number of different simple ice models. Presently two different models are fully working - and a third one is on progess. The STIM page will contain more information and hopefully be expanded in the future.

New run-time configuration - YAML

The resolute case has been used to test and develop the implementation - further set-ups will follow during the fall.

The present version must be run with the –read_nml option and an empty gotm.yaml.

~~The ice simulations is controlled via a namelist called ice.nml ~~

&ice
ice_model = 2,
Hice = 1.29,
sensible_ice_water = 20.,
/

Ice is configured through the YAML configuration - and a default entry is included when creating a setup via the –write_yaml option. It appears under the surface section and looks like:

  ice:
    ice_model: 0                     #  [0=None, 1=Lebedev (1938), 2=MyLake, 3=Winton; default=0]
    Hice: 0.0                        # total ice thickness [m; default=0.0]
    sensible_ice_water: 0.0          # sensible heat flux ice/water [W; default=0.0]

valid values for ice_model is 1, 2, (3). Hice is the initial ice thickness. The last parameter is a future fudge parameter - but is not used for now.

And additional option might be added to use the old GOTM implementation - even in the case GOTM is compiled with support for STIM.

To have a view at the ice related variables the following can be added to output.yaml

ice:
   time_unit: hour
   time_step: 24
   sync_interval: 0
   time_method: 1
   variables:
      - source: airt
      - source: ice/*

A few results

Will come shortly - my plot system is down …