source: branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/sao_intp.F90 @ 5063

Last change on this file since 5063 was 5063, checked in by andrewryan, 6 years ago

gross simplification of stand alone observation operator

File size: 1.5 KB
Line 
1MODULE sao_intp
2   !!======================================================================
3   !!                    ***  MODULE sao_intp ***
4   !! ** Purpose : Run NEMO observation operator in offline mode
5   !!======================================================================
6   !! NEMO modules
7   USE in_out_manager
8   USE diaobs
9   !! Stand Alone Observation operator modules
10   USE sao_read
11   USE sao_data
12
13   IMPLICIT NONE
14   PRIVATE
15
16   PUBLIC sao_interp
17
18   CONTAINS
19
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)
43            ENDIF
44            istp = istp + 1
45         END DO
46      END SUBROUTINE sao_interp
47
48END MODULE sao_intp
Note: See TracBrowser for help on using the repository browser.