Changeset 7646 for trunk/NEMOGCM/NEMO/SAO_SRC/sao_intp.F90
- Timestamp:
- 2017-02-06T10:25:03+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/SAO_SRC/sao_intp.F90
r5063 r7646 4 4 !! ** Purpose : Run NEMO observation operator in offline mode 5 5 !!====================================================================== 6 !! NEMO modules 6 !! History : 3.6 ! 2015-12 (A. Ryan) Original code 7 !!---------------------------------------------------------------------- 8 ! ! NEMO modules 7 9 USE in_out_manager 8 10 USE diaobs 9 ! ! Stand Alone Observation operator modules11 ! ! Stand Alone Observation operator modules 10 12 USE sao_read 11 13 USE sao_data … … 16 18 PUBLIC sao_interp 17 19 18 CONTAINS 20 !!---------------------------------------------------------------------- 21 !! NEMO/OPA 3.7 , NEMO Consortium (2015) 22 !! $Id: trazdf_imp.F90 6140 2015-12-21 11:35:23Z timgraham $ 23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 24 !!---------------------------------------------------------------------- 25 CONTAINS 19 26 20 SUBROUTINE sao_interp 21 !!---------------------------------------------------------------------- 22 !! *** SUBROUTINE sao_interp *** 23 !! 24 !! ** Purpose : To interpolate the model as if it were running online. 25 !! 26 !! ** Method : 1. Populate model counterparts 27 !! 2. Call dia_obs at appropriate time steps 28 !!---------------------------------------------------------------------- 29 INTEGER :: & 30 & istp, & ! time step index 31 & ifile ! file index 32 istp = nit000 - 1 33 nstop = 0 34 ifile = 1 35 CALL sao_rea_dri(ifile) 36 DO WHILE ( istp <= nitend .AND. nstop == 0 ) 37 IF (ifile <= n_files + 1) THEN 38 IF ( MOD(istp, nn_sao_freq) == nit000 ) THEN 39 CALL sao_rea_dri(ifile) 40 ifile = ifile + 1 41 ENDIF 42 CALL dia_obs(istp) 27 SUBROUTINE sao_interp 28 !!---------------------------------------------------------------------- 29 !! *** SUBROUTINE sao_interp *** 30 !! 31 !! ** Purpose : To interpolate the model as if it were running online. 32 !! 33 !! ** Method : 1. Populate model counterparts 34 !! 2. Call dia_obs at appropriate time steps 35 !!---------------------------------------------------------------------- 36 INTEGER :: istp ! time step index 37 INTEGER :: ifile ! file index 38 !!---------------------------------------------------------------------- 39 istp = nit000 - 1 40 nstop = 0 41 ifile = 1 42 CALL sao_rea_dri(ifile) 43 ! 44 DO WHILE ( istp <= nitend .AND. nstop == 0 ) 45 IF (ifile <= n_files + 1) THEN 46 IF ( MOD(istp, nn_sao_freq) == nit000 ) THEN 47 CALL sao_rea_dri(ifile) 48 ifile = ifile + 1 43 49 ENDIF 44 istp = istp + 1 45 END DO 46 END SUBROUTINE sao_interp 50 CALL dia_obs(istp) 51 ENDIF 52 istp = istp + 1 53 END DO 54 ! 55 END SUBROUTINE sao_interp 47 56 57 !!====================================================================== 48 58 END MODULE sao_intp
Note: See TracChangeset
for help on using the changeset viewer.