Rules for coupling ISSM and MITgcm:

* 

>>>> INITIALIZATION FROM SCRATCH

CouplingTime=0
1. ISSM sends CouplingTime=0 bed to MITgcm
2. MITgcm integrates for CouplingTime=0:1

CouplingTime=1
1. MITgcm sends time-mean melt rate for CouplingTime=0:1 to ISSM
2. ISSM sends CouplingTime=0 bed to MITgcm (it's duplicate of above)
3. ISSM integrates for CouplingTime=0:1
4. MITgcm integrates for CouplingTime=1:2

CouplingTime=2
1. MITgcm sends time-mean melt rate for CouplingTime=1:2 to ISSM
2. ISSM sends CouplingTime=1 bed to MITgcm
3. ISSM integrates for CouplingTime=1:2
4. MITgcm integrates for CouplingTime=2:3

...

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

CouplingTime=N (restart files are saved here)
1. MITgcm sends time-mean melt rate for CouplingTime=(N-1):N to ISSM
2. MITgcm saves CouplingTime=N MITgcm state
3. ISSM saves CouplingTime=N-1 ISSM state and CouplingTime=(N-1):N melt rate


>>>> RESTART FROM SAVED STATE

CouplingTime=N
1. ISSM sends CouplingTime=N-1 bed to MITgcm
2. ISSM integrates for CouplingTime=(N-1):N
3. MITgcm integrates for CouplingTime=N:(N+1)

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

...
