- Timestamp:
- 2017-10-26T13:15:54+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8600_xios_write/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90
r8661 r8662 62 62 CHARACTER(LEN=50) :: clname ! ocean output restart file name 63 63 CHARACTER(lc) :: clpath ! full path to ocean output restart file 64 CHARACTER(LEN=52) :: dlname ! ocean output restart file name including prefix for AGRIF64 CHARACTER(LEN=52) :: clpname ! ocean output restart file name including prefix for AGRIF 65 65 !!---------------------------------------------------------------------- 66 66 ! … … 111 111 CALL iom_open( TRIM(clpath)//TRIM(clname), numrow, ldwrt = .TRUE., kiolib = jprstlib ) 112 112 ELSE 113 wxios_context = "rstw_"//TRIM(ADJUSTL(clkt))113 cwxios_context = "rstw_"//TRIM(ADJUSTL(clkt)) 114 114 IF( TRIM(Agrif_CFixed()) == '0' ) THEN 115 dlname = clname115 clpname = clname 116 116 ELSE 117 dlname = TRIM(Agrif_CFixed())//"_"//clname117 clpname = TRIM(Agrif_CFixed())//"_"//clname 118 118 ENDIF 119 CALL iom_init( wxios_context, TRIM(clpath)//TRIM(dlname))119 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname)) 120 120 CALL xios_update_calendar(nitrst) 121 121 CALL iom_swap( cxios_context ) … … 139 139 INTEGER, INTENT(in) :: kt ! ocean time-step 140 140 !!---------------------------------------------------------------------- 141 IF(lwxios) CALL iom_swap( wxios_context )142 CALL iom_rstput( kt, nitrst, numrow, 'rdt' , rdt , l xios = lwxios) ! dynamics time step141 IF(lwxios) CALL iom_swap( cwxios_context ) 142 CALL iom_rstput( kt, nitrst, numrow, 'rdt' , rdt , ldxios = lwxios) ! dynamics time step 143 143 144 144 IF ( .NOT. ln_diurnal_only ) THEN 145 CALL iom_rstput( kt, nitrst, numrow, 'ub' , ub, l xios = lwxios ) ! before fields146 CALL iom_rstput( kt, nitrst, numrow, 'vb' , vb, l xios = lwxios )147 CALL iom_rstput( kt, nitrst, numrow, 'tb' , tsb(:,:,:,jp_tem), l xios = lwxios )148 CALL iom_rstput( kt, nitrst, numrow, 'sb' , tsb(:,:,:,jp_sal), l xios = lwxios )149 CALL iom_rstput( kt, nitrst, numrow, 'sshb' , sshb, l xios = lwxios )145 CALL iom_rstput( kt, nitrst, numrow, 'ub' , ub, ldxios = lwxios ) ! before fields 146 CALL iom_rstput( kt, nitrst, numrow, 'vb' , vb, ldxios = lwxios ) 147 CALL iom_rstput( kt, nitrst, numrow, 'tb' , tsb(:,:,:,jp_tem), ldxios = lwxios ) 148 CALL iom_rstput( kt, nitrst, numrow, 'sb' , tsb(:,:,:,jp_sal), ldxios = lwxios ) 149 CALL iom_rstput( kt, nitrst, numrow, 'sshb' , sshb, ldxios = lwxios ) 150 150 ! 151 CALL iom_rstput( kt, nitrst, numrow, 'un' , un, l xios = lwxios ) ! now fields152 CALL iom_rstput( kt, nitrst, numrow, 'vn' , vn, l xios = lwxios )153 CALL iom_rstput( kt, nitrst, numrow, 'tn' , tsn(:,:,:,jp_tem), l xios = lwxios )154 CALL iom_rstput( kt, nitrst, numrow, 'sn' , tsn(:,:,:,jp_sal), l xios = lwxios )155 CALL iom_rstput( kt, nitrst, numrow, 'sshn' , sshn, l xios = lwxios )156 CALL iom_rstput( kt, nitrst, numrow, 'rhop' , rhop, l xios = lwxios )151 CALL iom_rstput( kt, nitrst, numrow, 'un' , un, ldxios = lwxios ) ! now fields 152 CALL iom_rstput( kt, nitrst, numrow, 'vn' , vn, ldxios = lwxios ) 153 CALL iom_rstput( kt, nitrst, numrow, 'tn' , tsn(:,:,:,jp_tem), ldxios = lwxios ) 154 CALL iom_rstput( kt, nitrst, numrow, 'sn' , tsn(:,:,:,jp_sal), ldxios = lwxios ) 155 CALL iom_rstput( kt, nitrst, numrow, 'sshn' , sshn, ldxios = lwxios ) 156 CALL iom_rstput( kt, nitrst, numrow, 'rhop' , rhop, ldxios = lwxios ) 157 157 ! extra variable needed for the ice sheet coupling 158 158 IF ( ln_iscpl ) THEN 159 CALL iom_rstput( kt, nitrst, numrow, 'tmask' , tmask, l xios = lwxios ) ! need to extrapolate T/S160 CALL iom_rstput( kt, nitrst, numrow, 'umask' , umask, l xios = lwxios ) ! need to correct barotropic velocity161 CALL iom_rstput( kt, nitrst, numrow, 'vmask' , vmask, l xios = lwxios ) ! need to correct barotropic velocity162 CALL iom_rstput( kt, nitrst, numrow, 'smask' , ssmask, l xios = lwxios) ! need to correct barotropic velocity163 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:), l xios = lwxios ) ! need to compute temperature correction164 CALL iom_rstput( kt, nitrst, numrow, 'e3u_n', e3u_n(:,:,:), l xios = lwxios ) ! need to compute bt conservation165 CALL iom_rstput( kt, nitrst, numrow, 'e3v_n', e3v_n(:,:,:), l xios = lwxios ) ! need to compute bt conservation166 CALL iom_rstput( kt, nitrst, numrow, 'gdepw_n', gdepw_n(:,:,:), l xios = lwxios ) ! need to compute extrapolation if vvl159 CALL iom_rstput( kt, nitrst, numrow, 'tmask' , tmask, ldxios = lwxios ) ! need to extrapolate T/S 160 CALL iom_rstput( kt, nitrst, numrow, 'umask' , umask, ldxios = lwxios ) ! need to correct barotropic velocity 161 CALL iom_rstput( kt, nitrst, numrow, 'vmask' , vmask, ldxios = lwxios ) ! need to correct barotropic velocity 162 CALL iom_rstput( kt, nitrst, numrow, 'smask' , ssmask, ldxios = lwxios) ! need to correct barotropic velocity 163 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:), ldxios = lwxios ) ! need to compute temperature correction 164 CALL iom_rstput( kt, nitrst, numrow, 'e3u_n', e3u_n(:,:,:), ldxios = lwxios ) ! need to compute bt conservation 165 CALL iom_rstput( kt, nitrst, numrow, 'e3v_n', e3v_n(:,:,:), ldxios = lwxios ) ! need to compute bt conservation 166 CALL iom_rstput( kt, nitrst, numrow, 'gdepw_n', gdepw_n(:,:,:), ldxios = lwxios ) ! need to compute extrapolation if vvl 167 167 END IF 168 168 ENDIF 169 169 170 IF (ln_diurnal) CALL iom_rstput( kt, nitrst, numrow, 'Dsst', x_dsst, l xios = lwxios )170 IF (ln_diurnal) CALL iom_rstput( kt, nitrst, numrow, 'Dsst', x_dsst, ldxios = lwxios ) 171 171 IF(lwxios) CALL iom_swap( cxios_context ) 172 172 IF( kt == nitrst ) THEN … … 174 174 CALL iom_close( numrow ) ! close the restart file (only at last time step) 175 175 ELSE 176 CALL iom_context_finalize( wxios_context )176 CALL iom_context_finalize( cwxios_context ) 177 177 ENDIF 178 178 !!gm IF( .NOT. lk_trdmld ) lrst_oce = .FALSE.
Note: See TracChangeset
for help on using the changeset viewer.