Rules for coupling ISSM and MITgcm:

* 

>>>> INITIALIZATION FROM SCRATCH

Initialization (CouplingTime=0)
1. ISSM sends CouplingTime=0 base to MITgcm
2. MITgcm integrates for CouplingTime=0:1
3. MITgcm sends CouplingTime=0:1-time-mean melt rate to ISSM

CouplingTime=1
1. ISSM sends CouplingTime=0 base to MITgcm (this is duplicate of Initialization)
2. ISSM integrates for CouplingTime=0:1
3. MITgcm integrates for CouplingTime=1:2
4. MITgcm sends CouplingTime=1:2-time-mean melt rate to ISSM

...

CouplingTime=N
1. ISSM sends CouplingTime=N-1 base to MITgcm
2. ISSM integrates for CouplingTime=(N-1):N
3. MITgcm integrates for CouplingTime=N:(N+1)
4. MITgcm sends CouplingTime=N:(N+1)-time-mean melt rate to ISSM

Termination (CouplingTime=N+1)
1. ISSM saves CouplingTime=N ISSM state and N:(N+1)-time-mean melt rate
2. MITgcm saves CouplingTime=N+1 MITgcm state


>>>> RESTART FROM SAVED STATE

Initialization (CouplingTime=N+1)
1. ISSM reads CouplingTime=N ISSM state and N:(N+1)-time-mean melt rate
2. MITgcm reads CouplingTime=N+1 MITgcm state

CouplingTime=N+1
1. ISSM sends CouplingTime=N base to MITgcm
2. ISSM integrates for CouplingTime=N:(N+1)
3. MITgcm integrates for CouplingTime=(N+1):(N+2)
4. MITgcm sends CouplingTime=(N+1):(N+2)-time-mean melt rate to ISSM

...
