1 |
At start of timestep, if time is a multiple of shelficeremeshfrequencey, call |
2 |
shelfice remeshing. |
3 |
|
4 |
Shelfice_Remeshing calls the following subroutines in turn. Subroutines with JJ |
5 |
have been modified, those without are at present unmodified. |
6 |
|
7 |
|
8 |
INI_MASKS_ETC_JJ - Ro_surf set to 0, otherwise causes issues with |
9 |
shelfice_update_masks |
10 |
|
11 |
CALL SHELFICE_UPDATE_MASKS_JJ |
12 |
|
13 |
Set hFacs to 1 or 0. Set h0Facs. Generate masks. Generate |
14 |
ksurfs |
15 |
|
16 |
Mask U and V velocities on ice boundaries resulting from |
17 |
remeshing |
18 |
|
19 |
SHELFICE_UPDATE_MASKS_JJ - Called from within INI_MASKS_JJ |
20 |
Comment out initialising R_shelfice |
21 |
|
22 |
Main Remesh Loop. IF etaN is > SHELFICESplitThreshold, or |
23 |
< SHELFICEMergeThreshold then the following variables are |
24 |
updated |
25 |
|
26 |
etaN, etaH, etaHnm1, R_shelfice, uVel, vVel,gvnm1, gunm1, |
27 |
salt, theta, hFac_surfC, hFac_surfnm1C |
28 |
|
29 |
hFacs of 1 and 0 updated to reflect shelfice extent. |
30 |
|
31 |
OBCS_INIT_FIXED - Corrects MaskIn to allow for Obcs |
32 |
|
33 |
INI_LINEAR_PHISURF -initialise Bo_surf and phisurf |
34 |
|
35 |
INI_CG2D - initialise CG variables |
36 |
|
37 |
CALC_SURF_DR - Calculate hFac_surfs and hFac_surfw from hFac_surfc |
38 |
CALC_SURF_DR - Called 2nd time to update hfac_surfnm1 |
39 |
|
40 |
UPDATE_SURF_DR - update hFacs based on hFac_surfs |
41 |
|
42 |
UPDATE_CG2D - update CG variable based on hFacs |
43 |
|
44 |
UPDATE_SURF_DR - update hFacs based on hFac_surfs |
45 |
|
46 |
INTEGR_CONTINUITY - Generate Wvel based on Uvel and Vvel |