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 !! Loop over entire run istp = nit000 - 1 nstop = 0 DO WHILE ( istp <= nitend .AND. nstop == 0 ) IF (jifile <= n_files + 1) THEN IF ( MOD(istp, nn_sao_freq) == nit000 ) THEN !! Read next model counterpart CALL sao_rea_dri(jifile) jifile = jifile + 1 ENDIF !! Interpolate single time step CALL dia_obs(istp) ENDIF !! Increment model step istp = istp + 1 END DO END SUBROUTINE sao_interp END MODULE sao_intp