Changes between Version 3 and Version 4 of schwarz_nemo
 Timestamp:
 07/23/19 15:07:30 (4 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

schwarz_nemo
v3 v4 11 11 With 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. 12 12 13 For 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 + (iswloop1)*ntsinswr :nit000+iswloop*ntsinswr1`13 For a computation of 5 days with 15 time steps per day, a coupling window of 1 day and 6 Schwarz iterations there will be 3 loops. 14 15 * One global loop over the coupling windows : 5 to iterate. Counter `iswloop`, limits `1 to nsloops`. 16 * One inner loop over the number of schwarz iteration for each coupling window : 6. Counter `kswr`, limits `1 to mswr`. 17 * One most inner loop over the time steps done in one Schwarz coupling window : 15 time steps. Counter `istp`, limits `nit000 + (iswloop1)*ntsinswr to nit000+iswloop*ntsinswr1` 18 18 19 19 The counter given to subroutine `stp(istp)` is rewind to its value before entering the Schwarz loop when the Schwarz coupling window is repeated. … … 112 112 === The Schwarz algorithm: storing and restoring === 113 113 114 The Schwarz algorithm is implemented by storing and restoring the state of the ocean and ice at the proper times.114 The Schwarz algorithm is implemented by storing and restoring the state of the ocean and ice at the proper position inside the three loops structure. 115 115 116 116 The routines used to store and restore a state are all in `schwarz.F90` which is a new module. … … 125 125 IF ( kswr > 1 ) CALL swz_reinit(istp) ! reset Ocean state to first time step for new schwarz iteration 126 126 }}} 127 128 The routine `swz_reinit` is reproducing the initialisation structure from `nemo_init` in `nemogcm.F90` by selecting only the relevant subroutines and coding the corresponding restoring of variables. 129 130 (In case you wish to use PISCES you will have to add the relevant routines in `swz_reinit` and module `schwarz.F90`) 127 131 128 132 `Unfortunately this is not the only place variables are stored and restored!`