MODULE sao_intp !!====================================================================== !! *** MODULE sao_intp *** !! ** Purpose : Run NEMO observation operator in offline mode !!====================================================================== !! NEMO modules USE in_out_manager USE diaobs !! Stand Alone Observation operator modules USE sao_read USE sao_data IMPLICIT NONE PRIVATE PUBLIC sao_interp CONTAINS SUBROUTINE sao_interp !!---------------------------------------------------------------------- !! *** SUBROUTINE sao_interp *** !! !! ** Purpose : To interpolate the model as if it were running online. !! !! ** Method : 1. Populate model counterparts !! 2. Call dia_obs at appropriate time steps !!---------------------------------------------------------------------- INTEGER :: & & istp, & ! time step index & ifile ! file index istp = nit000 - 1 nstop = 0 ifile = 1 CALL sao_rea_dri(ifile) DO WHILE ( istp <= nitend .AND. nstop == 0 ) IF (ifile <= n_files + 1) THEN IF ( MOD(istp, nn_sao_freq) == nit000 ) THEN CALL sao_rea_dri(ifile) ifile = ifile + 1 ENDIF CALL dia_obs(istp) ENDIF istp = istp + 1 END DO END SUBROUTINE sao_interp END MODULE sao_intp