New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
sao_intp.F90 in branches/UKMO/dev_r8183_GC_couple_pkg/NEMOGCM/NEMO/SAO_SRC – NEMO

source: branches/UKMO/dev_r8183_GC_couple_pkg/NEMOGCM/NEMO/SAO_SRC/sao_intp.F90 @ 8730

Last change on this file since 8730 was 8730, checked in by dancopsey, 6 years ago

Cleared out SVN keywords.

File size: 2.0 KB
Line 
1MODULE sao_intp
2   !!======================================================================
3   !!                    ***  MODULE sao_intp ***
4   !! ** Purpose : Run NEMO observation operator in offline mode
5   !!======================================================================
6   !! History :  3.6  ! 2015-12  (A. Ryan)  Original code
7   !!----------------------------------------------------------------------
8   !        ! NEMO modules
9   USE in_out_manager
10   USE diaobs
11   !        ! Stand Alone Observation operator modules
12   USE sao_read
13   USE sao_data
14
15   IMPLICIT NONE
16   PRIVATE
17
18   PUBLIC sao_interp
19
20   !!----------------------------------------------------------------------
21   !! NEMO/OPA 3.7 , NEMO Consortium (2015)
22   !! $Id$
23   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
24   !!----------------------------------------------------------------------
25CONTAINS
26
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
49            ENDIF
50            CALL dia_obs(istp)
51         ENDIF
52         istp = istp + 1
53      END DO
54      !
55   END SUBROUTINE sao_interp
56
57   !!======================================================================
58END MODULE sao_intp
Note: See TracBrowser for help on using the repository browser.