Changeset 14553 for NEMO/trunk/src/ABL
- Timestamp:
- 2021-02-26T18:01:43+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ABL/ablrst.F90
r13286 r14553 45 45 CHARACTER(len=50) :: clname ! abl output restart file name 46 46 CHARACTER(len=256) :: clpath ! full path to abl output restart file 47 CHARACTER(LEN=52) :: clpname ! abl output restart file name including prefix for AGRIF 47 48 !!---------------------------------------------------------------------- 48 49 ! … … 74 75 ENDIF 75 76 ! 76 CALL iom_open( TRIM(clpath)//TRIM(clname), numraw, ldwrt = .TRUE., kdlev = jpka, cdcomp = 'ABL' ) 77 IF(.NOT.lwxios) THEN 78 CALL iom_open( TRIM(clpath)//TRIM(clname), numraw, ldwrt = .TRUE., kdlev = jpka, cdcomp = 'ABL' ) 79 ELSE 80 #if defined key_xios 81 cw_ablrst_cxt = "rstwa_"//TRIM(ADJUSTL(clkt)) 82 IF( TRIM(Agrif_CFixed()) == '0' ) THEN 83 clpname = clname 84 ELSE 85 clpname = TRIM(Agrif_CFixed())//"_"//clname 86 ENDIF 87 numraw = iom_xios_setid(TRIM(clpath)//TRIM(clpname)) 88 CALL iom_init( cw_ablrst_cxt, kdid = numraw, ld_closedef = .FALSE. ) 89 CALL iom_swap( cxios_context ) 90 #else 91 CALL ctl_stop( 'Can not use XIOS in rst_opn' ) 92 #endif 93 ENDIF 77 94 lrst_abl = .TRUE. 78 95 ENDIF … … 103 120 104 121 ! Write in numraw (if iter == nitrst) 105 ! ------------------ 122 ! ------------------ 106 123 ! ! calendar control 107 124 CALL iom_rstput( iter, nitrst, numraw, 'nn_fsbc', REAL( nn_fsbc, wp ) ) ! time-step 108 125 CALL iom_rstput( iter, nitrst, numraw, 'kt_abl' , REAL( iter , wp ) ) ! date 109 CALL iom_delay_rst( 'WRITE', 'ABL', numraw ) ! save only abl delayed global communication variables 126 127 IF(.NOT.lwxios) CALL iom_delay_rst( 'WRITE', 'ABL', numraw ) ! save only abl delayed global communication variables 110 128 111 129 ! Prognostic (after timestep + swap time indices = now timestep) variables … … 124 142 ! ------------------ 125 143 IF( iter == nitrst ) THEN 126 CALL iom_close( numraw ) 144 IF(.NOT.lwxios) THEN 145 CALL iom_close( numraw ) 146 ELSE 147 CALL iom_context_finalize( cw_ablrst_cxt ) 148 iom_file(numraw)%nfid = 0 149 numraw = 0 150 ENDIF 127 151 lrst_abl = .FALSE. 128 152 ENDIF … … 146 170 ENDIF 147 171 172 lxios_sini = .FALSE. 148 173 CALL iom_open ( TRIM(cn_ablrst_indir)//'/'//cn_ablrst_in, numrar ) 174 175 IF( lrxios) THEN 176 cr_ablrst_cxt = 'abl_rst' 177 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for ABL' 178 ! IF( TRIM(Agrif_CFixed()) == '0' ) THEN 179 ! clpname = cn_ablrst_in 180 ! ELSE 181 ! clpname = TRIM(Agrif_CFixed())//"_"//cn_ablrst_in 182 ! ENDIF 183 CALL iom_init( cr_ablrst_cxt, kdid = numrar, ld_closedef = .TRUE. ) 184 ENDIF 149 185 150 186 ! Time info … … 174 210 CALL iom_get( numrar, jpdom_auto,'mxld_abl',mxld_abl(:,:,: ) ) 175 211 CALL iom_get( numrar, jpdom_auto, 'pblh', pblh(:,: ) ) 176 CALL iom_delay_rst( 'READ', 'ABL', numrar ) ! read only abl delayed global communication variables 212 213 IF(.NOT.lrxios) CALL iom_delay_rst( 'READ', 'ABL', numrar ) ! read only abl delayed global communication variables 177 214 178 215 END SUBROUTINE abl_rst_read
Note: See TracChangeset
for help on using the changeset viewer.