1 |
dgoldberg |
1.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 |