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