- Timestamp:
- 2014-11-12T15:02:36+01:00 (9 years ago)
- Location:
- branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC
- Files:
-
- 4 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/nemogcm.F90
r4843 r4846 64 64 USE lbcnfd, ONLY: isendto, nsndto ! Setup of north fold exchanges 65 65 66 ! Offline obs_oper modules66 ! Stand Alone Observation operator modules 67 67 USE ooo_data 68 68 USE ooo_read … … 102 102 !! Initialise NEMO 103 103 CALL nemo_init 104 !! Initialise Offline obs_oper data104 !! Initialise Stand Alone Observation operator data 105 105 CALL ooo_data_init( ln_cl4 ) 106 106 !! Loop over various model counterparts -
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/ooo_data.F90
r4844 r4846 30 30 & cl4_leadtime(MaxNumFiles) !: Lead time data 31 31 32 !! Offline obs_oper settings32 !! Stand Alone Observation operator settings 33 33 CHARACTER(len=lc) :: & 34 & ooo_files(MaxNumFiles) !: model files34 & sao_files(MaxNumFiles) !: model files 35 35 INTEGER :: & 36 36 & jifile, & !: current file list index 37 37 & n_files, & !: number of files 38 38 & jimatch, & !: current match 39 & nn_ ooo_idx(MaxNumFiles), & !: time_counter indices40 & nn_ ooo_freq !: read frequency in time steps39 & nn_sao_idx(MaxNumFiles), & !: time_counter indices 40 & nn_sao_freq !: read frequency in time steps 41 41 CHARACTER(len=128) :: & 42 42 & alt_file !: altimeter file … … 57 57 58 58 ! Standard offline obs_oper information 59 NAMELIST/nam ooo/ooo_files, nn_ooo_idx, nn_ooo_freq59 NAMELIST/namsao/sao_files, nn_sao_idx, nn_sao_freq 60 60 61 61 ! Class 4 file specifiers … … 68 68 jifile = 1 !: input file iteration variable 69 69 n_files = 0 !: number of files to cycle through 70 ooo_files(:) = '' !: list of files to read in71 nn_ ooo_idx(:) = 0 !: list of indices inside each file72 nn_ ooo_freq = -1 !: input frequency in time steps70 sao_files(:) = '' !: list of files to read in 71 nn_sao_idx(:) = 0 !: list of indices inside each file 72 nn_sao_freq = -1 !: input frequency in time steps 73 73 74 74 ! Class 4 initialisation … … 88 88 ! Standard offline obs_oper settings 89 89 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark 90 READ ( numnam_ref, nam ooo, IOSTAT = ios, ERR = 901 )91 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam ooo in reference namelist', .TRUE. )90 READ ( numnam_ref, namsao, IOSTAT = ios, ERR = 901 ) 91 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsao in reference namelist', .TRUE. ) 92 92 93 93 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist : Control prints & Benchmark 94 READ ( numnam_cfg, nam ooo, IOSTAT = ios, ERR = 902 )95 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam ooo in configuration namelist', .TRUE. )94 READ ( numnam_cfg, namsao, IOSTAT = ios, ERR = 902 ) 95 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsao in configuration namelist', .TRUE. ) 96 96 97 97 ! Read class 4 output settings … … 108 108 ! count input files 109 109 lmask(:) = .FALSE. 110 WHERE ( ooo_files(:) /= '') lmask(:) = .TRUE.110 WHERE (sao_files(:) /= '') lmask(:) = .TRUE. 111 111 n_files = COUNT(lmask) 112 112 113 113 !! Initialise sub obs window frequency 114 IF (nn_ ooo_freq == -1) THEN114 IF (nn_sao_freq == -1) THEN 115 115 !! Run length 116 nn_ ooo_freq = nitend - nit000 + 1116 nn_sao_freq = nitend - nit000 + 1 117 117 ENDIF 118 118 … … 122 122 WRITE(numout,*) 'offline obs_oper : Initialization' 123 123 WRITE(numout,*) '~~~~~~~~~~~~~~~~~' 124 WRITE(numout,*) ' Namelist nam ooo : set offline obs_oper parameters'124 WRITE(numout,*) ' Namelist namsao : set stand alone obs_oper parameters' 125 125 DO jf = 1, n_files 126 126 WRITE(numout,'(1X,2A)') ' Input forecast file name forecastfile = ', & 127 TRIM( ooo_files(jf))127 TRIM(sao_files(jf)) 128 128 WRITE(numout,*) ' Input forecast file index forecastindex = ', & 129 nn_ ooo_idx(jf)129 nn_sao_idx(jf) 130 130 WRITE(numout,*) ' Output forecast leadtime index leadtimeindex = ', & 131 131 cl4_fcst_idx(jf) -
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/ooo_intp.F90
r4120 r4846 7 7 USE in_out_manager 8 8 USE diaobs 9 !! Offline obs_oper modules9 !! Stand Alone Observation operator modules 10 10 USE ooo_read 11 11 USE ooo_data … … 33 33 DO WHILE ( istp <= nitend .AND. nstop == 0 ) 34 34 IF (jifile <= n_files + 1) THEN 35 IF ( MOD(istp, nn_ ooo_freq) == nit000 ) THEN35 IF ( MOD(istp, nn_sao_freq) == nit000 ) THEN 36 36 !! Read next model counterpart 37 37 CALL ooo_rea_dri(jifile) -
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/ooo_read.F90
r4117 r4846 3 3 !!================================================================== 4 4 !! *** MODULE ooo_read *** 5 !! Read routines : I/O for offline obs_oper5 !! Read routines : I/O for Stand Alone Observation operator 6 6 !!================================================================== 7 7 … … 42 42 43 43 !! Filename, index and match-up kind 44 cdfilename = TRIM( ooo_files(kfile))44 cdfilename = TRIM(sao_files(kfile)) 45 45 cmatchname = TRIM(cl4_vars(kfile)) 46 kindex = nn_ ooo_idx(kfile)46 kindex = nn_sao_idx(kfile) 47 47 48 48 !! Update model fields -
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/SAO_SRC/sao.nml
r4845 r4846 1 1 2 2 !---------------------------------------------------------------------- 3 ! nam ooo Offline obs_oper namelist3 ! namsao Stand Alone Observation operator namelist 4 4 !---------------------------------------------------------------------- 5 ! ooo_files specifies the files containing the model counterpart6 ! nn_ ooo_idx specifies the index within the model file7 ! nn_ ooo_freq specifies the number of timesteps between file reads8 &nam ooo9 ooo_files = 'fcst.0.nc'10 nn_ ooo_idx = 15 ! sao_files specifies the files containing the model counterpart 6 ! nn_sao_idx specifies the index within the model file 7 ! nn_sao_freq specifies the number of timesteps between file reads 8 &namsao 9 sao_files = 'fcst.0.nc' 10 nn_sao_idx = 1 11 11 / 12 12 !----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.