!----------------------------------------------------------------------- &namberg ! iceberg parameters !----------------------------------------------------------------------- ln_icebergs = .false. ln_bergdia = .true. ! Calculate budgets nn_verbose_level = 1 ! Turn on more verbose output if level > 0 nn_verbose_write = 15 ! Timesteps between verbose messages nn_sample_rate = 1 ! Timesteps between sampling for trajectory storage ! Initial mass required for an iceberg of each class rn_initial_mass = 8.8e7, 4.1e8, 3.3e9, 1.8e10, 3.8e10, 7.5e10, 1.2e11, 2.2e11, 3.9e11, 7.4e11 ! Proportion of calving mass to apportion to each class rn_distribution = 0.24, 0.12, 0.15, 0.18, 0.12, 0.07, 0.03, 0.03, 0.03, 0.02 ! Ratio between effective and real iceberg mass (non-dim) ! i.e. number of icebergs represented at a point rn_mass_scaling = 2000, 200, 50, 20, 10, 5, 2, 1, 1, 1 ! thickness of newly calved bergs (m) rn_initial_thickness = 40., 67., 133., 175., 250., 250., 250., 250., 250., 250. rn_rho_bergs = 850. ! Density of icebergs rn_LoW_ratio = 1.5 ! Initial ratio L/W for newly calved icebergs ln_operator_splitting = .true. ! Use first order operator splitting for thermodynamics rn_bits_erosion_fraction = 0. ! Fraction of erosion melt flux to divert to bergy bits rn_sicn_shift = 0. ! Shift of sea-ice concn in erosion flux (0<sicn_shift<1) ln_passive_mode = .false. ! iceberg - ocean decoupling nn_test_icebergs = 10 ! Create test icebergs of this class (-1 = no) ! Put a test iceberg at each gridpoint in box (lon1,lon2,lat1,lat2) rn_test_box = 108.0, 116.0, -66.0, -58.0 rn_speed_limit = 0. ! CFL speed limit for a berg ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! ! ! ! (if <0 months) ! name ! (logical) ! (T/F ) ! 'monthly' ! filename ! pairing ! filename ! sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true. , 'yearly' , '' , '' , '' cn_dir = './' /
Icebergs are modelled as lagrangian particles in NEMO [Marsh et al., 2015]. Their physical behaviour is controlled by equations as described in Martin and Adcroft [2010] ). (Note that the authors kindly provided a copy of their code to act as a basis for implementation in NEMO). Icebergs are initially spawned into one of ten classes which have specific mass and thickness as described in the namberg namelist: rn_initial_mass and rn_initial_thickness. Each class has an associated scaling (rn_mass_scaling), which is an integer representing how many icebergs of this class are being described as one lagrangian point (this reduces the numerical problem of tracking every single iceberg). They are enabled by setting ln_icebergs = true.
Two initialisation schemes are possible.
Icebergs are influenced by wind, waves and currents, bottom melt and erosion. The latter act to disintegrate the iceberg. This is either all melted freshwater, or (if rn_bits_erosion_fraction 0) into melt and additionally small ice bits which are assumed to propagate with their larger parent and thus delay fluxing into the ocean. Melt water (and other variables on the configuration grid) are written into the main NEMO model output files.
Extensive diagnostics can be produced. Separate output files are maintained for human-readable iceberg information. A separate file is produced for each processor (independent of ln_ctl). The amount of information is controlled by two integer parameters:
Iceberg trajectories can also be written out and this is enabled by setting nn_sample_rate 0. A non-zero value represents how many timesteps between writes of information into the output file. These output files are in NETCDF format. When key_ mpp_mpi is defined, each output file contains only those icebergs in the corresponding processor. Trajectory points are written out in the order of their parent iceberg in the model's "linked list" of icebergs. So care is needed to recreate data for individual icebergs, since its trajectory data may be spread across multiple files.
Gurvan Madec and the NEMO Team
NEMO European Consortium2017-02-17