| 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 |