Changeset 8793
- Timestamp:
- 2017-11-23T13:02:23+01:00 (7 years ago)
- Location:
- branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90
r8770 r8793 33 33 USE wrk_nemo ! work arrays 34 34 USE iom_def, ONLY : lwxios 35 USE iom_def, ONLY : l xios_read35 USE iom_def, ONLY : lrxios 36 36 37 37 IMPLICIT NONE … … 257 257 IF(lwp) WRITE(numout,*) ' dia_hsb_rst at it= ', kt,' date= ', ndastp 258 258 IF(lwp) WRITE(numout,*) '~~~~~~~' 259 CALL iom_get( numror, 'frc_v', frc_v, ldxios = l xios_read)260 CALL iom_get( numror, 'frc_t', frc_t, ldxios = l xios_read)261 CALL iom_get( numror, 'frc_s', frc_s, ldxios = l xios_read)259 CALL iom_get( numror, 'frc_v', frc_v, ldxios = lrxios ) 260 CALL iom_get( numror, 'frc_t', frc_t, ldxios = lrxios ) 261 CALL iom_get( numror, 'frc_s', frc_s, ldxios = lrxios ) 262 262 IF( ln_linssh ) THEN 263 CALL iom_get( numror, 'frc_wn_t', frc_wn_t, ldxios = l xios_read)264 CALL iom_get( numror, 'frc_wn_s', frc_wn_s, ldxios = l xios_read)263 CALL iom_get( numror, 'frc_wn_t', frc_wn_t, ldxios = lrxios ) 264 CALL iom_get( numror, 'frc_wn_s', frc_wn_s, ldxios = lrxios ) 265 265 ENDIF 266 CALL iom_get( numror, jpdom_autoglo, 'surf_ini', surf_ini, ldxios = l xios_read) ! ice sheet coupling267 CALL iom_get( numror, jpdom_autoglo, 'ssh_ini', ssh_ini(:,:), ldxios = l xios_read)268 CALL iom_get( numror, jpdom_autoglo, 'e3t_ini', e3t_ini(:,:,:), ldxios = l xios_read)269 CALL iom_get( numror, jpdom_autoglo, 'hc_loc_ini', hc_loc_ini(:,:,:), ldxios = l xios_read)270 CALL iom_get( numror, jpdom_autoglo, 'sc_loc_ini', sc_loc_ini(:,:,:), ldxios = l xios_read)266 CALL iom_get( numror, jpdom_autoglo, 'surf_ini', surf_ini, ldxios = lrxios ) ! ice sheet coupling 267 CALL iom_get( numror, jpdom_autoglo, 'ssh_ini', ssh_ini(:,:), ldxios = lrxios ) 268 CALL iom_get( numror, jpdom_autoglo, 'e3t_ini', e3t_ini(:,:,:), ldxios = lrxios ) 269 CALL iom_get( numror, jpdom_autoglo, 'hc_loc_ini', hc_loc_ini(:,:,:), ldxios = lrxios ) 270 CALL iom_get( numror, jpdom_autoglo, 'sc_loc_ini', sc_loc_ini(:,:,:), ldxios = lrxios ) 271 271 IF( ln_linssh ) THEN 272 CALL iom_get( numror, jpdom_autoglo, 'ssh_hc_loc_ini', ssh_hc_loc_ini(:,:), ldxios = l xios_read)273 CALL iom_get( numror, jpdom_autoglo, 'ssh_sc_loc_ini', ssh_sc_loc_ini(:,:), ldxios = l xios_read)272 CALL iom_get( numror, jpdom_autoglo, 'ssh_hc_loc_ini', ssh_hc_loc_ini(:,:), ldxios = lrxios ) 273 CALL iom_get( numror, jpdom_autoglo, 'ssh_sc_loc_ini', ssh_sc_loc_ini(:,:), ldxios = lrxios ) 274 274 ENDIF 275 275 ELSE -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90
r8770 r8793 34 34 USE restart ! restart 35 35 USE iom_def, ONLY : lwxios 36 USE iom_def, ONLY : l xios_read36 USE iom_def, ONLY : lrxios 37 37 38 38 IMPLICIT NONE … … 328 328 IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN 329 329 ! Get Calendar informations 330 CALL iom_get( numror, 'kt', zkt, ldxios = l xios_read) ! last time-step of previous run330 CALL iom_get( numror, 'kt', zkt, ldxios = lrxios ) ! last time-step of previous run 331 331 IF(lwp) THEN 332 332 WRITE(numout,*) ' *** Info read in restart : ' … … 347 347 IF ( nrstdt == 2 ) THEN 348 348 ! read the parameters corresponding to nit000 - 1 (last time step of previous run) 349 CALL iom_get( numror, 'ndastp', zndastp, ldxios = l xios_read)349 CALL iom_get( numror, 'ndastp', zndastp, ldxios = lrxios ) 350 350 ndastp = NINT( zndastp ) 351 CALL iom_get( numror, 'adatrj', adatrj, ldxios = l xios_read)352 CALL iom_get( numror, 'ntime', ktime, ldxios = l xios_read)351 CALL iom_get( numror, 'adatrj', adatrj, ldxios = lrxios ) 352 CALL iom_get( numror, 'ntime', ktime, ldxios = lrxios ) 353 353 nn_time0=INT(ktime) 354 354 ! calculate start time in hours and minutes -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r8770 r8793 49 49 USE iom_def, ONLY:lwxios, nxioso, rst_wfields ! write restart flag and output type 50 50 USE iom, ONLY : iom_set_rst_vars, iom_set_rstw_core 51 USE iom_def, ONLY : l xios_read51 USE iom_def, ONLY : lrxios 52 52 53 53 IMPLICIT NONE … … 365 365 neuler = nn_euler 366 366 IF( TRIM(Agrif_CFixed()) == '0') THEN 367 l xios_read= ln_xios_read.AND.ln_rstart367 lrxios = ln_xios_read.AND.ln_rstart 368 368 ENDIF 369 369 IF ( neuler == 1 .AND. .NOT. ln_rstart ) THEN -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r8770 r8793 33 33 USE wrk_nemo ! Memory allocation 34 34 USE timing ! Timing 35 USE iom_def, ONLY : l xios_read, lwxios35 USE iom_def, ONLY : lrxios, lwxios 36 36 37 37 IMPLICIT NONE … … 818 818 IF( ln_rstart ) THEN !* Read the restart file 819 819 CALL rst_read_open ! open the restart file if necessary 820 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = l xios_read)820 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = lrxios ) 821 821 ! 822 822 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 829 829 ! ! --------- ! 830 830 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 831 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = l xios_read)832 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = l xios_read)831 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 832 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 833 833 ! needed to restart if land processor not computed 834 834 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t_b and e3t_n found in restart files' … … 844 844 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 845 845 IF(lwp) write(numout,*) 'neuler is forced to 0' 846 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = l xios_read)846 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 847 847 e3t_n(:,:,:) = e3t_b(:,:,:) 848 848 neuler = 0 … … 851 851 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 852 852 IF(lwp) write(numout,*) 'neuler is forced to 0' 853 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = l xios_read)853 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 854 854 e3t_b(:,:,:) = e3t_n(:,:,:) 855 855 neuler = 0 … … 876 876 ! ! ----------------------- ! 877 877 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 878 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = l xios_read)879 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = l xios_read)878 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 879 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 880 880 ELSE ! one at least array is missing 881 881 tilde_e3t_b(:,:,:) = 0.0_wp … … 886 886 ! ! ------------ ! 887 887 IF( id5 > 0 ) THEN ! required array exists 888 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = l xios_read)888 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 889 889 ELSE ! array is missing 890 890 hdiv_lf(:,:,:) = 0.0_wp -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DOM/iscplrst.F90
r8668 r8793 25 25 USE iscplini ! ice sheet coupling: initialisation 26 26 USE iscplhsb ! ice sheet coupling: conservation 27 USE iom_def, ONLY : l xios_read27 USE iom_def, ONLY : lrxios 28 28 29 29 IMPLICIT NONE … … 65 65 66 66 !! get restart variable 67 CALL iom_get( numror, jpdom_autoglo, 'tmask' , ztmask_b, ldxios = l xios_read) ! need to extrapolate T/S68 CALL iom_get( numror, jpdom_autoglo, 'umask' , zumask_b, ldxios = l xios_read) ! need to correct barotropic velocity69 CALL iom_get( numror, jpdom_autoglo, 'vmask' , zvmask_b, ldxios = l xios_read) ! need to correct barotropic velocity70 CALL iom_get( numror, jpdom_autoglo, 'smask' , zsmask_b, ldxios = l xios_read) ! need to correct barotropic velocity71 CALL iom_get( numror, jpdom_autoglo, 'e3t_n' , ze3t_b(:,:,:), ldxios = l xios_read) ! need to compute temperature correction72 CALL iom_get( numror, jpdom_autoglo, 'e3u_n' , ze3u_b(:,:,:), ldxios = l xios_read) ! need to correct barotropic velocity73 CALL iom_get( numror, jpdom_autoglo, 'e3v_n' , ze3v_b(:,:,:), ldxios = l xios_read) ! need to correct barotropic velocity74 CALL iom_get( numror, jpdom_autoglo, 'gdepw_n', zdepw_b(:,:,:), ldxios = l xios_read) ! need to interpol vertical profile (vvl)67 CALL iom_get( numror, jpdom_autoglo, 'tmask' , ztmask_b, ldxios = lrxios ) ! need to extrapolate T/S 68 CALL iom_get( numror, jpdom_autoglo, 'umask' , zumask_b, ldxios = lrxios ) ! need to correct barotropic velocity 69 CALL iom_get( numror, jpdom_autoglo, 'vmask' , zvmask_b, ldxios = lrxios ) ! need to correct barotropic velocity 70 CALL iom_get( numror, jpdom_autoglo, 'smask' , zsmask_b, ldxios = lrxios ) ! need to correct barotropic velocity 71 CALL iom_get( numror, jpdom_autoglo, 'e3t_n' , ze3t_b(:,:,:), ldxios = lrxios ) ! need to compute temperature correction 72 CALL iom_get( numror, jpdom_autoglo, 'e3u_n' , ze3u_b(:,:,:), ldxios = lrxios ) ! need to correct barotropic velocity 73 CALL iom_get( numror, jpdom_autoglo, 'e3v_n' , ze3v_b(:,:,:), ldxios = lrxios ) ! need to correct barotropic velocity 74 CALL iom_get( numror, jpdom_autoglo, 'gdepw_n', zdepw_b(:,:,:), ldxios = lrxios ) ! need to interpol vertical profile (vvl) 75 75 76 76 !! read namelist -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r8770 r8793 56 56 USE asminc ! Assimilation increment 57 57 #endif 58 USE iom_def, ONLY : l xios_read, lwxios58 USE iom_def, ONLY : lrxios, lwxios 59 59 60 60 … … 1199 1199 ! 1200 1200 IF( TRIM(cdrw) == 'READ' ) THEN 1201 CALL iom_get( numror, jpdom_autoglo, 'ub2_b' , ub2_b (:,:), ldxios = l xios_read)1202 CALL iom_get( numror, jpdom_autoglo, 'vb2_b' , vb2_b (:,:), ldxios = l xios_read)1201 CALL iom_get( numror, jpdom_autoglo, 'ub2_b' , ub2_b (:,:), ldxios = lrxios ) 1202 CALL iom_get( numror, jpdom_autoglo, 'vb2_b' , vb2_b (:,:), ldxios = lrxios ) 1203 1203 IF( .NOT.ln_bt_av ) THEN 1204 CALL iom_get( numror, jpdom_autoglo, 'sshbb_e' , sshbb_e(:,:), ldxios = l xios_read)1205 CALL iom_get( numror, jpdom_autoglo, 'ubb_e' , ubb_e(:,:), ldxios = l xios_read)1206 CALL iom_get( numror, jpdom_autoglo, 'vbb_e' , vbb_e(:,:), ldxios = l xios_read)1207 CALL iom_get( numror, jpdom_autoglo, 'sshb_e' , sshb_e(:,:), ldxios = l xios_read)1208 CALL iom_get( numror, jpdom_autoglo, 'ub_e' , ub_e(:,:), ldxios = l xios_read)1209 CALL iom_get( numror, jpdom_autoglo, 'vb_e' , vb_e(:,:), ldxios = l xios_read)1204 CALL iom_get( numror, jpdom_autoglo, 'sshbb_e' , sshbb_e(:,:), ldxios = lrxios ) 1205 CALL iom_get( numror, jpdom_autoglo, 'ubb_e' , ubb_e(:,:), ldxios = lrxios ) 1206 CALL iom_get( numror, jpdom_autoglo, 'vbb_e' , vbb_e(:,:), ldxios = lrxios ) 1207 CALL iom_get( numror, jpdom_autoglo, 'sshb_e' , sshb_e(:,:), ldxios = lrxios ) 1208 CALL iom_get( numror, jpdom_autoglo, 'ub_e' , ub_e(:,:), ldxios = lrxios ) 1209 CALL iom_get( numror, jpdom_autoglo, 'vb_e' , vb_e(:,:), ldxios = lrxios ) 1210 1210 ENDIF 1211 1211 #if defined key_agrif 1212 1212 ! Read time integrated fluxes 1213 1213 IF ( .NOT.Agrif_Root() ) THEN 1214 CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b' , ub2_i_b(:,:), ldxios = l xios_read)1215 CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b' , vb2_i_b(:,:), ldxios = l xios_read)1214 CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b' , ub2_i_b(:,:), ldxios = lrxios ) 1215 CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b' , vb2_i_b(:,:), ldxios = lrxios ) 1216 1216 ENDIF 1217 1217 #endif -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90
r8792 r8793 44 44 INTEGER, PARAMETER, PUBLIC :: jpmax_digits = 5 !: maximum number of digits for the cpu number in the file name 45 45 46 46 47 !$AGRIF_DO_NOT_TREAT 47 48 INTEGER, PUBLIC :: iom_open_init = 0 !: used to initialize iom_file(:)%nfid to 0 48 49 !XIOS write restart 49 LOGICAL, PUBLIC :: lwxios !: readsingle file restart using XIOS50 LOGICAL, PUBLIC :: lwxios !: write single file restart using XIOS 50 51 INTEGER, PUBLIC :: nxioso !: type of restart file when writing using XIOS 1 - single, 2 - multiple 51 52 !XIOS read restart 52 LOGICAL, PUBLIC :: l xios_read!: read single file restart using XIOS53 LOGICAL, PUBLIC :: lrxios !: read single file restart using XIOS 53 54 LOGICAL, PUBLIC :: lxios_sini = .FALSE. ! is restart in a single file 54 55 LOGICAL, PUBLIC :: lxios_set = .FALSE. -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90
r8785 r8793 218 218 ! can handle checking if variable is in the restart file (there will be no need to open 219 219 ! restart) 220 IF(.NOT.lxios_set) l xios_read = lxios_read.AND.lxios_sini221 IF( l xios_read) THEN220 IF(.NOT.lxios_set) lrxios = lrxios.AND.lxios_sini 221 IF( lrxios) THEN 222 222 crxios_context = 'nemo_rst' 223 223 if(.NOT.lxios_set) then … … 227 227 endif 228 228 ENDIF 229 IF( TRIM(Agrif_CFixed()) /= '0' .AND. l xios_read) THEN229 IF( TRIM(Agrif_CFixed()) /= '0' .AND. lrxios) THEN 230 230 CALL iom_init( crxios_context ) 231 231 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for AGRIF' … … 256 256 ! Check dynamics and tracer time-step consistency and force Euler restart if changed 257 257 IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 ) THEN 258 CALL iom_get( numror, 'rdt', zrdt, ldxios = l xios_read)258 CALL iom_get( numror, 'rdt', zrdt, ldxios = lrxios ) 259 259 IF( zrdt /= rdt ) neuler = 0 260 260 ENDIF 261 261 262 262 ! Diurnal DSST 263 IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = l xios_read)263 IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lrxios ) 264 264 IF ( ln_diurnal_only ) THEN 265 265 IF(lwp) WRITE( numout, * ) & 266 266 & "rst_read:- ln_diurnal_only set, setting rhop=rau0" 267 267 rhop = rau0 268 CALL iom_get( numror, jpdom_autoglo, 'tn' , w3d, ldxios = l xios_read)268 CALL iom_get( numror, jpdom_autoglo, 'tn' , w3d, ldxios = lrxios ) 269 269 tsn(:,:,1,jp_tem) = w3d(:,:,1) 270 270 RETURN … … 272 272 273 273 IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 274 CALL iom_get( numror, jpdom_autoglo, 'ub' , ub, ldxios = l xios_read) ! before fields275 CALL iom_get( numror, jpdom_autoglo, 'vb' , vb, ldxios = l xios_read)276 CALL iom_get( numror, jpdom_autoglo, 'tb' , tsb(:,:,:,jp_tem), ldxios = l xios_read)277 CALL iom_get( numror, jpdom_autoglo, 'sb' , tsb(:,:,:,jp_sal), ldxios = l xios_read)278 CALL iom_get( numror, jpdom_autoglo, 'sshb' , sshb, ldxios = l xios_read)274 CALL iom_get( numror, jpdom_autoglo, 'ub' , ub, ldxios = lrxios ) ! before fields 275 CALL iom_get( numror, jpdom_autoglo, 'vb' , vb, ldxios = lrxios ) 276 CALL iom_get( numror, jpdom_autoglo, 'tb' , tsb(:,:,:,jp_tem), ldxios = lrxios ) 277 CALL iom_get( numror, jpdom_autoglo, 'sb' , tsb(:,:,:,jp_sal), ldxios = lrxios ) 278 CALL iom_get( numror, jpdom_autoglo, 'sshb' , sshb, ldxios = lrxios ) 279 279 ELSE 280 280 neuler = 0 281 281 ENDIF 282 282 ! 283 CALL iom_get( numror, jpdom_autoglo, 'un' , un, ldxios = l xios_read) ! now fields284 CALL iom_get( numror, jpdom_autoglo, 'vn' , vn, ldxios = l xios_read)285 CALL iom_get( numror, jpdom_autoglo, 'tn' , tsn(:,:,:,jp_tem), ldxios = l xios_read)286 CALL iom_get( numror, jpdom_autoglo, 'sn' , tsn(:,:,:,jp_sal), ldxios = l xios_read)287 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = l xios_read)283 CALL iom_get( numror, jpdom_autoglo, 'un' , un, ldxios = lrxios ) ! now fields 284 CALL iom_get( numror, jpdom_autoglo, 'vn' , vn, ldxios = lrxios ) 285 CALL iom_get( numror, jpdom_autoglo, 'tn' , tsn(:,:,:,jp_tem), ldxios = lrxios ) 286 CALL iom_get( numror, jpdom_autoglo, 'sn' , tsn(:,:,:,jp_sal), ldxios = lrxios ) 287 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = lrxios ) 288 288 IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 289 CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop, ldxios = l xios_read) ! now potential density289 CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop, ldxios = lrxios ) ! now potential density 290 290 ELSE 291 291 CALL eos( tsn, rhd, rhop, gdept_n(:,:,:) ) -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90
r8770 r8793 66 66 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 67 67 TYPE(FLD_N) :: sn_apr ! informations about the fields to be read 68 LOGICAL :: l xios_read! read restart using XIOS?68 LOGICAL :: lrxios ! read restart using XIOS? 69 69 !! 70 70 NAMELIST/namsbc_apr/ cn_dir, sn_apr, ln_ref_apr, rn_pref, ln_apr_obc … … 157 157 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 158 158 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb read in the restart file' 159 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, ldxios = l xios_read) ! before inv. barometer ssh159 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, ldxios = lrxios ) ! before inv. barometer ssh 160 160 ! 161 161 ELSE !* no restart: set from nit000 values -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r8770 r8793 27 27 USE timing ! Timing 28 28 USE lib_fortran ! glob_sum 29 USE iom_def, ONLY : l xios_read, lwxios29 USE iom_def, ONLY : lrxios, lwxios 30 30 31 31 IMPLICIT NONE … … 219 219 & iom_varid( numror, 'fwf_isf_b', ldstop = .FALSE. ) > 0 ) THEN 220 220 IF(lwp) WRITE(numout,*) ' nit000-1 isf tracer content forcing fields read in the restart file' 221 CALL iom_get( numror, jpdom_autoglo, 'fwf_isf_b', fwfisf_b(:,:), ldxios = l xios_read) ! before salt content isf_tsc trend222 CALL iom_get( numror, jpdom_autoglo, 'isf_sc_b', risf_tsc_b(:,:,jp_sal), ldxios = l xios_read) ! before salt content isf_tsc trend223 CALL iom_get( numror, jpdom_autoglo, 'isf_hc_b', risf_tsc_b(:,:,jp_tem), ldxios = l xios_read) ! before salt content isf_tsc trend221 CALL iom_get( numror, jpdom_autoglo, 'fwf_isf_b', fwfisf_b(:,:), ldxios = lrxios ) ! before salt content isf_tsc trend 222 CALL iom_get( numror, jpdom_autoglo, 'isf_sc_b', risf_tsc_b(:,:,jp_sal), ldxios = lrxios ) ! before salt content isf_tsc trend 223 CALL iom_get( numror, jpdom_autoglo, 'isf_hc_b', risf_tsc_b(:,:,jp_tem), ldxios = lrxios ) ! before salt content isf_tsc trend 224 224 ELSE 225 225 fwfisf_b(:,:) = fwfisf(:,:) -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r8770 r8793 58 58 59 59 USE diurnal_bulk, ONLY: ln_diurnal_only ! diurnal SST diagnostic 60 USE iom_def, ONLY : l xios_read, lwxios60 USE iom_def, ONLY : lrxios, lwxios 61 61 62 62 IMPLICIT NONE … … 468 468 & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 469 469 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 470 CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = l xios_read) ! before i-stress (U-point)471 CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = l xios_read) ! before j-stress (V-point)472 CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = l xios_read) ! before non solar heat flux (T-point)470 CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lrxios ) ! before i-stress (U-point) 471 CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lrxios ) ! before j-stress (V-point) 472 CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = lrxios ) ! before non solar heat flux (T-point) 473 473 ! The 3D heat content due to qsr forcing is treated in traqsr 474 ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = l xios_read) ! before solar heat flux (T-point)475 CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = l xios_read) ! before freshwater flux (T-point)474 ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lrxios ) ! before solar heat flux (T-point) 475 CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lrxios ) ! before freshwater flux (T-point) 476 476 ! To ensure restart capability with 3.3x/3.4 restart files !! to be removed in v3.6 477 477 IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 478 CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = l xios_read) ! before salt flux (T-point)478 CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lrxios ) ! before salt flux (T-point) 479 479 ELSE 480 480 sfx_b (:,:) = sfx(:,:) -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r8770 r8793 28 28 USE lib_mpp ! MPP library 29 29 USE wrk_nemo ! Memory allocation 30 USE iom_def, ONLY : l xios_read, lwxios30 USE iom_def, ONLY : lrxios, lwxios 31 31 32 32 IMPLICIT NONE … … 148 148 IF( ln_rstart .AND. & !* Restart: read in restart file 149 149 & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 150 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields red in the restart file', l xios_read151 CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b, ldxios = l xios_read) ! before runoff152 CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem), ldxios = l xios_read) ! before heat content of runoff153 CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal), ldxios = l xios_read) ! before salinity content of runoff150 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields red in the restart file', lrxios 151 CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b, ldxios = lrxios ) ! before runoff 152 CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem), ldxios = lrxios ) ! before heat content of runoff 153 CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal), ldxios = lrxios ) ! before salinity content of runoff 154 154 ELSE !* no restart: set from nit000 values 155 155 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields set to nit000' -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90
r8770 r8793 22 22 USE prtctl ! Print control 23 23 USE iom ! IOM library 24 USE iom_def, ONLY : l xios_read, lwxios24 USE iom_def, ONLY : lrxios, lwxios 25 25 26 26 IMPLICIT NONE … … 209 209 IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 210 210 l_ssm_mean = .TRUE. 211 CALL iom_get( numror , 'nn_fsbc', zf_sbc, ldxios = l xios_read) ! sbc frequency of previous run212 CALL iom_get( numror, jpdom_autoglo, 'ssu_m' , ssu_m, ldxios = l xios_read) ! sea surface mean velocity (U-point)213 CALL iom_get( numror, jpdom_autoglo, 'ssv_m' , ssv_m, ldxios = l xios_read) ! " " velocity (V-point)214 CALL iom_get( numror, jpdom_autoglo, 'sst_m' , sst_m, ldxios = l xios_read) ! " " temperature (T-point)215 CALL iom_get( numror, jpdom_autoglo, 'sss_m' , sss_m, ldxios = l xios_read) ! " " salinity (T-point)216 CALL iom_get( numror, jpdom_autoglo, 'ssh_m' , ssh_m, ldxios = l xios_read) ! " " height (T-point)217 CALL iom_get( numror, jpdom_autoglo, 'e3t_m' , e3t_m, ldxios = l xios_read) ! 1st level thickness (T-point)218 CALL iom_get( numror, jpdom_autoglo, 'e3t_m', e3t_m, ldxios = l xios_read)211 CALL iom_get( numror , 'nn_fsbc', zf_sbc, ldxios = lrxios ) ! sbc frequency of previous run 212 CALL iom_get( numror, jpdom_autoglo, 'ssu_m' , ssu_m, ldxios = lrxios ) ! sea surface mean velocity (U-point) 213 CALL iom_get( numror, jpdom_autoglo, 'ssv_m' , ssv_m, ldxios = lrxios ) ! " " velocity (V-point) 214 CALL iom_get( numror, jpdom_autoglo, 'sst_m' , sst_m, ldxios = lrxios ) ! " " temperature (T-point) 215 CALL iom_get( numror, jpdom_autoglo, 'sss_m' , sss_m, ldxios = lrxios ) ! " " salinity (T-point) 216 CALL iom_get( numror, jpdom_autoglo, 'ssh_m' , ssh_m, ldxios = lrxios ) ! " " height (T-point) 217 CALL iom_get( numror, jpdom_autoglo, 'e3t_m' , e3t_m, ldxios = lrxios ) ! 1st level thickness (T-point) 218 CALL iom_get( numror, jpdom_autoglo, 'e3t_m', e3t_m, ldxios = lrxios ) 219 219 ! fraction of solar net radiation absorbed in 1st T level 220 220 IF( iom_varid( numror, 'frq_m', ldstop = .FALSE. ) > 0 ) THEN 221 CALL iom_get( numror, jpdom_autoglo, 'frq_m' , frq_m, ldxios = l xios_read)221 CALL iom_get( numror, jpdom_autoglo, 'frq_m' , frq_m, ldxios = lrxios ) 222 222 ELSE 223 223 frq_m(:,:) = 1._wp ! default definition -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r8770 r8793 36 36 USE wrk_nemo ! Memory Allocation 37 37 USE timing ! Timing 38 USE iom_def, ONLY : l xios_read, lwxios38 USE iom_def, ONLY : lrxios, lwxios 39 39 IMPLICIT NONE 40 40 PRIVATE … … 139 139 IF(lwp) WRITE(numout,*) ' nit000-1 qsr tracer content forcing field read in the restart file' 140 140 z1_2 = 0.5_wp 141 CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b, ldxios = l xios_read) ! before heat content trend due to Qsr flux141 CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b, ldxios = lrxios ) ! before heat content trend due to Qsr flux 142 142 ELSE ! No restart or restart not found: Euler forward time stepping 143 143 z1_2 = 1._wp … … 432 432 ! 1st ocean level attenuation coefficient (used in sbcssm) 433 433 IF( iom_varid( numror, 'fraqsr_1lev', ldstop = .FALSE. ) > 0 ) THEN 434 CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev' , fraqsr_1lev, ldxios = l xios_read)434 CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev' , fraqsr_1lev, ldxios = lrxios ) 435 435 ELSE 436 436 fraqsr_1lev(:,:) = 1._wp ! default : no penetration -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
r8770 r8793 34 34 USE wrk_nemo ! Memory Allocation 35 35 USE timing ! Timing 36 USE iom_def, ONLY : l xios_read, lwxios36 USE iom_def, ONLY : lrxios, lwxios 37 37 38 38 IMPLICIT NONE … … 109 109 zfact = 0.5_wp 110 110 sbc_tsc(:,:,:) = 0._wp 111 CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem), ldxios = l xios_read) ! before heat content sbc trend112 CALL iom_get( numror, jpdom_autoglo, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal), ldxios = l xios_read) ! before salt content sbc trend111 CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem), ldxios = lrxios ) ! before heat content sbc trend 112 CALL iom_get( numror, jpdom_autoglo, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal), ldxios = lrxios ) ! before salt content sbc trend 113 113 ELSE ! No restart or restart not found: Euler forward time stepping 114 114 zfact = 1._wp -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r8770 r8793 34 34 USE timing ! Timing 35 35 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 36 USE iom_def, ONLY : l xios_read, lwxios36 USE iom_def, ONLY : lrxios, lwxios 37 37 38 38 IMPLICIT NONE … … 1185 1185 ! 1186 1186 IF( MIN( id1, id2, id3, id4, id5, id6 ) > 0 ) THEN ! all required arrays exist 1187 CALL iom_get( numror, jpdom_autoglo, 'en' , en, ldxios = l xios_read)1188 CALL iom_get( numror, jpdom_autoglo, 'avt' , avt, ldxios = l xios_read)1189 CALL iom_get( numror, jpdom_autoglo, 'avm' , avm, ldxios = l xios_read)1190 CALL iom_get( numror, jpdom_autoglo, 'avmu' , avmu, ldxios = l xios_read)1191 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv, ldxios = l xios_read)1192 CALL iom_get( numror, jpdom_autoglo, 'mxln' , mxln, ldxios = l xios_read)1187 CALL iom_get( numror, jpdom_autoglo, 'en' , en, ldxios = lrxios ) 1188 CALL iom_get( numror, jpdom_autoglo, 'avt' , avt, ldxios = lrxios ) 1189 CALL iom_get( numror, jpdom_autoglo, 'avm' , avm, ldxios = lrxios ) 1190 CALL iom_get( numror, jpdom_autoglo, 'avmu' , avmu, ldxios = lrxios ) 1191 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv, ldxios = lrxios ) 1192 CALL iom_get( numror, jpdom_autoglo, 'mxln' , mxln, ldxios = lrxios ) 1193 1193 ELSE 1194 1194 IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90
r8668 r8793 28 28 USE iom ! IOM library 29 29 USE lib_mpp ! distribued memory computing 30 USE iom_def, ONLY : l xios_read30 USE iom_def, ONLY : lrxios 31 31 32 32 IMPLICIT NONE … … 160 160 ! file in traadv_cen2 end read here. 161 161 IF( iom_varid( numror, 'avmb', ldstop = .FALSE. ) > 0 ) THEN 162 CALL iom_get( numror, jpdom_unknown, 'avmb', avmb, ldxios = l xios_read)163 CALL iom_get( numror, jpdom_unknown, 'avtb', avtb, ldxios = l xios_read)162 CALL iom_get( numror, jpdom_unknown, 'avmb', avmb, ldxios = lrxios ) 163 CALL iom_get( numror, jpdom_unknown, 'avtb', avtb, ldxios = lrxios ) 164 164 ENDIF 165 165 ENDIF -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r8770 r8793 58 58 USE agrif_opa_update 59 59 #endif 60 USE iom_def, ONLY : l xios_read60 USE iom_def, ONLY : lrxios 61 61 62 62 IMPLICIT NONE … … 856 856 ! 857 857 IF( id1 > 0 ) THEN ! 'en' exists 858 CALL iom_get( numror, jpdom_autoglo, 'en', en, ldxios = l xios_read)858 CALL iom_get( numror, jpdom_autoglo, 'en', en, ldxios = lrxios ) 859 859 IF( MIN( id2, id3, id4, id5, id6 ) > 0 ) THEN ! all required arrays exist 860 CALL iom_get( numror, jpdom_autoglo, 'avt' , avt, ldxios = l xios_read)861 CALL iom_get( numror, jpdom_autoglo, 'avm' , avm, ldxios = l xios_read)862 CALL iom_get( numror, jpdom_autoglo, 'avmu' , avmu, ldxios = l xios_read)863 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv, ldxios = l xios_read)864 CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl, ldxios = l xios_read)860 CALL iom_get( numror, jpdom_autoglo, 'avt' , avt, ldxios = lrxios ) 861 CALL iom_get( numror, jpdom_autoglo, 'avm' , avm, ldxios = lrxios ) 862 CALL iom_get( numror, jpdom_autoglo, 'avmu' , avmu, ldxios = lrxios ) 863 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv, ldxios = lrxios ) 864 CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl, ldxios = lrxios ) 865 865 ELSE ! one at least array is missing 866 866 CALL tke_avn ! compute avt, avm, avmu, avmv and dissl (approximation) -
branches/2017/dev_r8600_xios_read_write/NEMOGCM/NEMO/OPA_SRC/step.F90
r8668 r8793 345 345 IF( kstp == nitend .OR. indic < 0 ) THEN 346 346 CALL iom_context_finalize( cxios_context ) ! needed for XIOS+AGRIF 347 IF(l xios_read) CALL iom_context_finalize( crxios_context )347 IF(lrxios) CALL iom_context_finalize( crxios_context ) 348 348 IF( ln_crs ) CALL iom_context_finalize( trim(cxios_context)//"_crs" ) ! 349 349 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.