source: NEMO/trunk/NEMOGCM/NEMO/SAO_SRC/sao_intp.F90 @ 9594

Last change on this file since 9594 was 9570, checked in by nicolasmartin, 3 years ago

Global renaming for core routines (./NEMO)

  • Folders
    • LIM_SRC_3 → ICE_SRC
    • OPA_SRC → OCE_SRC
  • CPP key: key_lim3 → key_si3
  • Modules, (sub)routines and variables names
    • MPI: mpi_comm_opa → mpi_comm_oce, MPI_COMM_OPA → MPI_COMM_OCE, mpi_init_opa → mpi_init_oce
    • AGRIF: agrif_opa_* → agrif_oce_*, agrif_lim3_* → agrif_si3_* and few more
    • TOP-PISCES: p.zlim → p.zice, namp.zlim → namp.zice
  • Comments
    • NEMO/OPA → NEMO/OCE
    • ESIM|LIM3 → SI3
File size: 2.1 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/OCE 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   !!----------------------------------------------------------------------
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.