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.
Changeset 5063 for branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/sao_data.F90 – NEMO

Ignore:
Timestamp:
2015-02-05T17:29:55+01:00 (9 years ago)
Author:
andrewryan
Message:

gross simplification of stand alone observation operator

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/sao_data.F90

    r4849 r5063  
    1212   INTEGER, PARAMETER :: MaxNumFiles = 1000 
    1313 
    14    !! Class 4 file settings 
    15    INTEGER :: & 
    16            & cl4_fcst_idx(MaxNumFiles), & !: forecast indices 
    17            & cl4_match_len, &             !: number of match types 
    18            & cl4_fcst_len                 !: number of forecast days 
    19    CHARACTER(len=lc) :: & 
    20            & cl4_vars(MaxNumFiles), &  !: class 4 variables 
    21            & cl4_sys, &                !: class 4 system 
    22            & cl4_cfg, &                !: class 4 configuration 
    23            & cl4_date, &               !: class 4 date 
    24            & cl4_vn,  &                !: class 4 version 
    25            & cl4_prefix, &             !: class 4 prefix 
    26            & cl4_contact, &            !: class 4 contact 
    27            & cl4_inst                  !: class 4 institute 
    28    REAL ::   cl4_modjuld               !: model Julian day 
    29    REAL :: & 
    30       & cl4_leadtime(MaxNumFiles)      !: Lead time data 
    31  
    3214   !! Stand Alone Observation operator settings 
    3315   CHARACTER(len=lc) :: & 
    3416      & sao_files(MaxNumFiles)         !: model files 
    3517   INTEGER            :: & 
    36       & jifile, &                      !: current file list index 
    3718      & n_files, &                     !: number of files 
    38       & jimatch, &                     !: current match 
    3919      & nn_sao_idx(MaxNumFiles), &     !: time_counter indices 
    4020      & nn_sao_freq                    !: read frequency in time steps 
    41    CHARACTER(len=128) :: & 
    42       & alt_file                       !: altimeter file 
    4321CONTAINS 
    44    SUBROUTINE sao_data_init( ld_cl4 ) 
     22   SUBROUTINE sao_data_init() 
    4523      !!---------------------------------------------------------------------- 
    4624      !!                    ***  SUBROUTINE sao_data_init *** 
     
    5331         & jf                           !: file dummy loop index 
    5432      LOGICAL :: lmask(MaxNumFiles)     !: Logical mask used for counting 
    55       LOGICAL, INTENT(IN) :: ld_cl4     !: Logical class 4 on/off 
    5633      INTEGER :: ios 
    5734 
     
    5936      NAMELIST/namsao/sao_files, nn_sao_idx, nn_sao_freq 
    6037 
    61       ! Class 4 file specifiers 
    62       NAMELIST/namcl4/cl4_vars, cl4_sys, cl4_cfg, cl4_date, cl4_vn, & 
    63          &            cl4_prefix, cl4_contact, cl4_inst, cl4_leadtime, & 
    64          &            cl4_fcst_idx, cl4_fcst_len, cl4_match_len 
    65  
    6638      ! Standard offline obs_oper initialisation 
    67       jimatch = 0                   !: match-up iteration variable  
    68       jifile = 1                    !: input file iteration variable  
    6939      n_files = 0                   !: number of files to cycle through 
    7040      sao_files(:) = ''             !: list of files to read in 
    7141      nn_sao_idx(:) = 0             !: list of indices inside each file 
    7242      nn_sao_freq = -1              !: input frequency in time steps 
    73  
    74       ! Class 4 initialisation 
    75       cl4_leadtime(:) = 0           !: Lead time axis value for each file 
    76       cl4_fcst_len = 0              !: Length of the forecast dimension 
    77       cl4_match_len = 1             !: Number of match types 
    78       cl4_fcst_idx(:) = 0           !: output file forecast index 
    79       cl4_vars(:) = ''              !: output file variable names 
    80       cl4_sys = ''                  !: output file system 
    81       cl4_cfg = ''                  !: output file configuration 
    82       cl4_date = ''                 !: output file date string 
    83       cl4_vn = ''                   !: output file version 
    84       cl4_prefix = 'class4'         !: output file prefix 
    85       cl4_contact = ''              !: output file contact details 
    86       cl4_inst = ''                 !: output file institution 
    8743 
    8844      ! Standard offline obs_oper settings 
     
    9551902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsao in configuration namelist', .TRUE. ) 
    9652 
    97       ! Read class 4 output settings 
    98       IF (ld_cl4) THEN 
    99          REWIND( numnam_ref )              ! Namelist namctl in reference namelist : Control prints & Benchmark 
    100          READ  ( numnam_ref, namcl4, IOSTAT = ios, ERR = 903 ) 
    101 903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcl4 in reference namelist', .TRUE. ) 
    102  
    103          REWIND( numnam_cfg )              ! Namelist namctl in confguration namelist : Control prints & Benchmark 
    104          READ  ( numnam_cfg, namcl4, IOSTAT = ios, ERR = 904 ) 
    105 904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcl4 in configuration namelist', .TRUE. ) 
    106       ENDIF 
    10753 
    10854      ! count input files 
     
    12268         WRITE(numout,*) 'offline obs_oper : Initialization' 
    12369         WRITE(numout,*) '~~~~~~~~~~~~~~~~~' 
    124          WRITE(numout,*) '   Namelist namsao : set stand alone obs_oper parameters'  
     70         WRITE(numout,*) '   Namelist namsao : set stand alone obs_oper parameters' 
    12571         DO jf = 1, n_files 
    12672            WRITE(numout,'(1X,2A)') '   Input forecast file name          forecastfile = ', & 
     
    12874            WRITE(numout,*) '   Input forecast file index        forecastindex = ', & 
    12975               nn_sao_idx(jf) 
    130             WRITE(numout,*) '   Output forecast leadtime index   leadtimeindex = ', & 
    131                cl4_fcst_idx(jf) 
    132             WRITE(numout,*) '   Output forecast leadtime value   leadtimevalue = ', & 
    133                cl4_leadtime(jf) 
    134             WRITE(numout,'(1X,2A)') '   Input class 4 variable       class 4 parameter = ', & 
    135                TRIM(cl4_vars(jf)) 
    13676         END DO 
    137          WRITE(numout, '(1X,2A)') '   Input class 4 system            class 4 system = ', & 
    138             TRIM(cl4_sys) 
    139          WRITE(numout, '(1X,2A)') '   Input class 4 config            class 4 config = ', & 
    140             TRIM(cl4_cfg) 
    141          WRITE(numout, '(1X,2A)') '   Input class 4 date                class 4 date = ', & 
    142             TRIM(cl4_date) 
    143          WRITE(numout, '(1X,2A)') '   Input class 4 version          class 4 version = ', & 
    144             TRIM(cl4_vn) 
    145          WRITE(numout, '(1X,2A)') '   Input class 4 prefix            class 4 prefix = ', & 
    146             TRIM(cl4_prefix) 
    147          WRITE(numout, '(1X,2A)') '   Input class 4 contact          class 4 contact = ', & 
    148             TRIM(cl4_contact) 
    149          WRITE(numout, '(1X,2A)') '   Input class 4 institute      class 4 institute = ', & 
    150             TRIM(cl4_inst) 
    15177      END IF 
    15278 
Note: See TracChangeset for help on using the changeset viewer.