Changes between Version 2 and Version 3 of schwarz_nemo


Ignore:
Timestamp:
07/23/19 14:57:11 (2 years ago)
Author:
snguyen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • schwarz_nemo

    v2 v3  
    1111With the Schwarz algorithm, the total amount of time steps is divided in coupling windows (called Schwarz loops in the code), each coupling window is repeated the number of schwarz iterations given as a parameter (mswr), and for each schwarz iteration a number of time steps (the length of a coupling window) is done. 
    1212 
    13 For a computation of 5 days with 15 time steps per day, a coupling window of 1 day and 5 schwarz iterations (mswr=5) there will be 3 loops. 
    14  
    15 * One global loop over the coupling windows : 5 to iterate. `iswloop` 
    16 * One inner loop over the number of schwarz iteration for each coupling window : 5 (mswr=5). `kswr` 
    17 * One most inner loop over the time steps done in one Schwarz coupling window : 15 time steps. `istp` 
    18  
    19 The counter given to `stp` is rewind when the Schwarz coupling window is repeated. 
     13For a computation of 5 days with 15 time steps per day, a coupling window of 1 day and 6 schwarz iterations (mswr=6) there will be 3 loops. 
     14 
     15* One global loop over the coupling windows : 5 to iterate. Counter `iswloop`, limits `1 : nsloops`. 
     16* One inner loop over the number of schwarz iteration for each coupling window : 6. Counter `kswr`, limits `1 : mswr`. 
     17* One most inner loop over the time steps done in one Schwarz coupling window : 15 time steps. Counter `istp`, limits `nit000 + (iswloop-1)*ntsinswr : nit000+iswloop*ntsinswr-1` 
     18 
     19The counter given to subroutine `stp(istp)` is rewind to its value before entering the Schwarz loop when the Schwarz coupling window is repeated. 
    2020 
    2121This is coded like this in `nemogcm.F90`: 
     
    2424         IF (lwp) WRITE(numout,*) 'init iswloop =',iswloop 
    2525 
    26          DO WHILE ( iswloop <= nsloops .AND. nstop == 0 ) ! iterate on n schwarz loops 
     26         DO WHILE ( iswloop <= nsloops .AND. nstop == 0 ) ! iterate on nsloops schwarz loops 
    2727 
    2828         kswr = 1