- Timestamp:
- 2020-12-03T13:50:43+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r13747_ENHANCE-04_dford_OBSOP_BGC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13747_ENHANCE-04_dford_OBSOP_BGC
- Property svn:externals
-
old new 8 8 9 9 # SETTE 10 ^/utils/CI/sette @13559sette10 ^/utils/CI/sette_wave@13990 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r13747_ENHANCE-04_dford_OBSOP_BGC/src/TOP/trcrst.F90
r13558 r14049 52 52 CHARACTER(LEN=50) :: clname ! trc output restart file name 53 53 CHARACTER(LEN=256) :: clpath ! full path to ocean output restart file 54 CHARACTER(LEN=50) :: clpname ! trc output restart file name including AGRIF 54 55 !!---------------------------------------------------------------------- 55 56 ! … … 91 92 IF(lwp) WRITE(numout,*) & 92 93 ' open trc restart.output NetCDF file: ',TRIM(clpath)//clname 93 CALL iom_open( TRIM(clpath)//TRIM(clname), numrtw, ldwrt = .TRUE. ) 94 IF(.NOT.lwxios) THEN 95 CALL iom_open( TRIM(clpath)//TRIM(clname), numrtw, ldwrt = .TRUE. ) 96 ELSE 97 #if defined key_iomput 98 cw_toprst_cxt = "rstwt_"//TRIM(ADJUSTL(clkt)) 99 IF( TRIM(Agrif_CFixed()) == '0' ) THEN 100 clpname = clname 101 ELSE 102 clpname = TRIM(Agrif_CFixed())//"_"//clname 103 ENDIF 104 numrtw = iom_xios_setid(TRIM(clpath)//TRIM(clpname)) 105 CALL iom_init( cw_toprst_cxt, kdid = numrtw, ld_closedef = .FALSE. ) 106 #else 107 clinfo = 'Can not use XIOS in trc_rst_opn' 108 CALL ctl_stop(TRIM(clinfo)) 109 #endif 110 ENDIF 94 111 lrst_trc = .TRUE. 95 112 ENDIF … … 121 138 END DO 122 139 ! 123 CALL iom_delay_rst( 'READ', 'TOP', numrtr ) ! read only TOP delayed global communication variables 124 140 IF(.NOT.lrxios) CALL iom_delay_rst( 'READ', 'TOP', numrtr ) ! read only TOP delayed global communication variables 125 141 END SUBROUTINE trc_rst_read 126 142 … … 147 163 CALL iom_rstput( kt, nitrst, numrtw, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb) ) 148 164 END DO 149 ! 150 CALL iom_delay_rst( 'WRITE', 'TOP', numrtw ) ! save only TOP delayed global communication variables165 166 IF( .NOT. lwxios ) CALL iom_delay_rst( 'WRITE', 'TOP', numrtw ) ! save only TOP delayed global communication variables 151 167 152 168 IF( kt == nitrst ) THEN 153 169 CALL trc_rst_stat( Kmm, Krhs ) ! statistics 154 CALL iom_close( numrtw ) ! close the restart file (only at last time step) 170 IF(lwxios) THEN 171 CALL iom_context_finalize( cw_toprst_cxt ) 172 iom_file(numrtw)%nfid = 0 173 numrtw = 0 174 ELSE 175 CALL iom_close( numrtw ) ! close the restart file (only at last time step) 176 ENDIF 155 177 #if ! defined key_trdmxl_trc 156 178 lrst_trc = .FALSE. … … 196 218 REAL(wp) :: zrdttrc1, zkt, zndastp, zdayfrac, ksecs, ktime 197 219 INTEGER :: ihour, iminute 220 CHARACTER(len=82) :: clpname 198 221 199 222 ! Time domain : restart … … 207 230 208 231 IF( ln_rsttr ) THEN 232 lxios_sini = .FALSE. 209 233 CALL iom_open( TRIM(cn_trcrst_indir)//'/'//cn_trcrst_in, numrtr ) 234 IF( lrxios) THEN 235 cr_toprst_cxt = 'top_rst' 236 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for TOP' 237 ! IF( TRIM(Agrif_CFixed()) == '0' ) THEN 238 ! clpname = cn_trcrst_in 239 ! ELSE 240 ! clpname = TRIM(Agrif_CFixed())//"_"//cn_trcrst_in 241 ! ENDIF 242 CALL iom_init( cr_toprst_cxt, kdid = numrtr, ld_closedef = .TRUE. ) 243 ENDIF 244 210 245 CALL iom_get ( numrtr, 'kt', zkt ) ! last time-step of previous run 211 246 … … 293 328 IF(lwp) WRITE(numout,*) '~~~~~~~' 294 329 ENDIF 295 CALL iom_rstput( kt, nitrst, numrtw, 'kt' , REAL( kt , wp) ) ! time-step296 CALL iom_rstput( kt, nitrst, numrtw, 'ndastp' , REAL( ndastp, wp) ) ! date297 CALL iom_rstput( kt, nitrst, numrtw, 'adatrj' , adatrj ) ! number of elapsed days since330 CALL iom_rstput( kt, nitrst, numrtw, 'kt' , REAL( kt , wp) ) ! time-step 331 CALL iom_rstput( kt, nitrst, numrtw, 'ndastp' , REAL( ndastp, wp) ) ! date 332 CALL iom_rstput( kt, nitrst, numrtw, 'adatrj' , adatrj ) ! number of elapsed days since 298 333 ! ! the begining of the run [s] 299 CALL iom_rstput( kt, nitrst, numrtw, 'ntime' , REAL( nn_time0, wp) ) ! time334 CALL iom_rstput( kt, nitrst, numrtw, 'ntime' , REAL( nn_time0, wp) ) ! time 300 335 ENDIF 301 336
Note: See TracChangeset
for help on using the changeset viewer.