source: NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement/src/SAO/sao_data.F90 @ 13159

Last change on this file since 13159 was 12377, checked in by acc, 10 months ago

The big one. Merging all 2019 developments from the option 1 branch back onto the trunk.

This changeset reproduces 2019/dev_r11943_MERGE_2019 on the trunk using a 2-URL merge
onto a working copy of the trunk. I.e.:

svn merge —ignore-ancestry \

svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk \
svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/branches/2019/dev_r11943_MERGE_2019 ./

The —ignore-ancestry flag avoids problems that may otherwise arise from the fact that
the merge history been trunk and branch may have been applied in a different order but
care has been taken before this step to ensure that all applicable fixes and updates
are present in the merge branch.

The trunk state just before this step has been branched to releases/release-4.0-HEAD
and that branch has been immediately tagged as releases/release-4.0.2. Any fixes
or additions in response to tickets on 4.0, 4.0.1 or 4.0.2 should be done on
releases/release-4.0-HEAD. From now on future 'point' releases (e.g. 4.0.2) will
remain unchanged with periodic releases as needs demand. Note release-4.0-HEAD is a
transitional naming convention. Future full releases, say 4.2, will have a release-4.2
branch which fulfills this role and the first point release (e.g. 4.2.0) will be made
immediately following the release branch creation.

2020 developments can be started from any trunk revision later than this one.

  • Property svn:keywords set to Id
File size: 3.4 KB
Line 
1MODULE sao_data
2   !!======================================================================
3   !!                       ***  MODULE sao_data  ***
4   !!======================================================================
5   !! History :  3.6  ! 2015-12  (A. Ryan)  Original code
6   !!----------------------------------------------------------------------
7   USE par_kind, ONLY: lc
8   USE lib_mpp         ! distributed memory computing
9   USE in_out_manager
10
11   IMPLICIT NONE
12
13   INTEGER, PARAMETER :: MaxNumFiles = 1000
14
15   !! Stand Alone Observation operator settings
16   CHARACTER(len=lc) ::   sao_files(MaxNumFiles)   !: model files
17   INTEGER           ::   n_files                  !: number of files
18   INTEGER           :: nn_sao_idx(MaxNumFiles)    !: time_counter indices
19   INTEGER           :: nn_sao_freq                !: read frequency in time steps
20   
21   !!----------------------------------------------------------------------
22   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
23   !! $Id$
24   !! Software governed by the CeCILL license (see ./LICENSE)
25   !!----------------------------------------------------------------------
26CONTAINS
27
28   SUBROUTINE sao_data_init()
29      !!----------------------------------------------------------------------
30      !!                    ***  SUBROUTINE sao_data_init ***
31      !!
32      !! ** Purpose : To read namelists and initialise offline_oper run.
33      !!
34      !!----------------------------------------------------------------------
35      INTEGER ::   jf                   ! file dummy loop index
36      LOGICAL ::   lmask(MaxNumFiles)   ! Logical mask used for counting
37      INTEGER ::   ios
38      !!
39      NAMELIST/namsao/sao_files, nn_sao_idx, nn_sao_freq
40      !!----------------------------------------------------------------------
41      IF(lwp) THEN
42         WRITE(numout,*)
43         WRITE(numout,*) 'sao_data_init : offline obs operator initialization'
44         WRITE(numout,*) '~~~~~~~~~~~~~'
45      ENDIF
46
47      ! Standard offline obs_oper initialisation
48      n_files       =  0         ! number of files to cycle through
49      sao_files(:)  = ''         ! list of files to read in
50      nn_sao_idx(:) =  0         ! list of indices inside each file
51      nn_sao_freq   = -1         ! input frequency in time steps
52
53      ! Standard offline obs_oper settings
54      READ  ( numnam_ref, namsao, IOSTAT = ios, ERR = 901 )
55901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsao in reference namelist' )
56      READ  ( numnam_cfg, namsao, IOSTAT = ios, ERR = 902 )
57902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namsao in configuration namelist' )
58     
59      lmask(:) = .FALSE.               ! count input files
60      WHERE( sao_files(:) /= '' )   lmask(:) = .TRUE.
61      n_files = COUNT(lmask)
62      !
63      IF(nn_sao_freq == -1) THEN      ! Initialise sub obs window frequency
64         nn_sao_freq = nitend - nit000 + 1      ! Run length
65      ENDIF
66      !
67      IF(lwp) THEN                     ! Print summary of settings
68         WRITE(numout,*) '   Namelist namsao : set stand alone obs_oper parameters'
69         DO jf = 1, n_files
70            WRITE(numout,'(1X,2A)') '      Input forecast file name         forecastfile  = ', TRIM(sao_files(jf))
71            WRITE(numout,*)         '      Input forecast file index        forecastindex = ', nn_sao_idx(jf)
72         END DO
73      END IF
74      !
75   END SUBROUTINE sao_data_init
76
77   !!======================================================================
78END MODULE sao_data
79
Note: See TracBrowser for help on using the repository browser.