Changeset 8904 for branches/UKMO/dev_r7750_GO6_package_oasis_timers/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
- Timestamp:
- 2017-12-05T17:01:17+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r7750_GO6_package_oasis_timers/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
r8895 r8904 126 126 127 127 ! ! masks (inum2) 128 IF(nn_timing == 2) CALL timing_start('rst_put')129 128 CALL iom_rstput( 0, 0, inum2, 'tmask', tmask, ktype = jp_i1 ) ! ! land-sea mask 130 129 CALL iom_rstput( 0, 0, inum2, 'umask', umask, ktype = jp_i1 ) 131 130 CALL iom_rstput( 0, 0, inum2, 'vmask', vmask, ktype = jp_i1 ) 132 131 CALL iom_rstput( 0, 0, inum2, 'fmask', fmask, ktype = jp_i1 ) 133 IF(nn_timing == 2) CALL timing_stop('rst_put')134 132 135 133 CALL dom_uniq( zprw, 'T' ) … … 140 138 END DO 141 139 END DO ! ! unique point mask 142 IF(nn_timing == 2) CALL timing_start('rst_put')143 140 CALL iom_rstput( 0, 0, inum2, 'tmaskutil', zprt, ktype = jp_i1 ) 144 IF(nn_timing == 2) CALL timing_stop('rst_put')145 141 CALL dom_uniq( zprw, 'U' ) 146 142 DO jj = 1, jpj … … 150 146 END DO 151 147 END DO 152 IF(nn_timing == 2) CALL timing_start('rst_put')153 148 CALL iom_rstput( 0, 0, inum2, 'umaskutil', zprt, ktype = jp_i1 ) 154 IF(nn_timing == 2) CALL timing_stop('rst_put')155 149 CALL dom_uniq( zprw, 'V' ) 156 150 DO jj = 1, jpj … … 160 154 END DO 161 155 END DO 162 IF(nn_timing == 2) CALL timing_start('rst_put')163 156 CALL iom_rstput( 0, 0, inum2, 'vmaskutil', zprt, ktype = jp_i1 ) 164 IF(nn_timing == 2) CALL timing_stop('rst_put')165 157 CALL dom_uniq( zprw, 'F' ) 166 158 DO jj = 1, jpj … … 170 162 END DO 171 163 END DO 172 IF(nn_timing == 2) CALL timing_start('rst_put')173 164 CALL iom_rstput( 0, 0, inum2, 'fmaskutil', zprt, ktype = jp_i1 ) 174 165 … … 195 186 196 187 CALL iom_rstput( 0, 0, inum3, 'ff', ff, ktype = jp_r8 ) ! ! coriolis factor 197 IF(nn_timing == 2) CALL timing_stop('rst_put')188 198 189 ! note that mbkt is set to 1 over land ==> use surface tmask 199 190 zprt(:,:) = ssmask(:,:) * REAL( mbkt(:,:) , wp ) 200 IF(nn_timing == 2) CALL timing_start('rst_put')201 191 CALL iom_rstput( 0, 0, inum4, 'mbathy', zprt, ktype = jp_i2 ) ! ! nb of ocean T-points 202 IF(nn_timing == 2) CALL timing_stop('rst_put')203 192 zprt(:,:) = ssmask(:,:) * REAL( mikt(:,:) , wp ) 204 IF(nn_timing == 2) CALL timing_start('rst_put')205 193 CALL iom_rstput( 0, 0, inum4, 'misf', zprt, ktype = jp_i2 ) ! ! nb of ocean T-points 206 IF(nn_timing == 2) CALL timing_stop('rst_put')207 194 zprt(:,:) = ssmask(:,:) * REAL( risfdep(:,:) , wp ) 208 IF(nn_timing == 2) CALL timing_start('rst_put')209 195 CALL iom_rstput( 0, 0, inum4, 'isfdraft', zprt, ktype = jp_r4 ) ! ! nb of ocean T-points 210 IF(nn_timing == 2) CALL timing_stop('rst_put')211 196 212 197 IF( ln_sco ) THEN ! s-coordinate 213 IF(nn_timing == 2) CALL timing_start('rst_put')214 198 CALL iom_rstput( 0, 0, inum4, 'hbatt', hbatt ) 215 199 CALL iom_rstput( 0, 0, inum4, 'hbatu', hbatu ) … … 233 217 CALL iom_rstput( 0, 0, inum4, 'gdept_0', gdept_0, ktype = jp_r4 ) 234 218 CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 ) 235 IF(nn_timing == 2) CALL timing_stop('rst_put')236 219 ENDIF 237 220 … … 239 222 ! 240 223 IF( nmsh <= 6 ) THEN ! ! 3D vertical scale factors 241 IF(nn_timing == 2) CALL timing_start('rst_put')242 224 CALL iom_rstput( 0, 0, inum4, 'e3t_0', e3t_0 ) 243 225 CALL iom_rstput( 0, 0, inum4, 'e3u_0', e3u_0 ) 244 226 CALL iom_rstput( 0, 0, inum4, 'e3v_0', e3v_0 ) 245 227 CALL iom_rstput( 0, 0, inum4, 'e3w_0', e3w_0 ) 246 IF(nn_timing == 2) CALL timing_stop('rst_put')247 228 ELSE ! ! 2D masked bottom ocean scale factors 248 229 DO jj = 1,jpj … … 252 233 END DO 253 234 END DO 254 IF(nn_timing == 2) CALL timing_start('rst_put')255 235 CALL iom_rstput( 0, 0, inum4, 'e3t_ps', e3tp ) 256 236 CALL iom_rstput( 0, 0, inum4, 'e3w_ps', e3wp ) 257 IF(nn_timing == 2) CALL timing_stop('rst_put')258 237 END IF 259 238 ! 260 239 IF( nmsh <= 3 ) THEN ! ! 3D depth 261 IF(nn_timing == 2) CALL timing_start('rst_put')262 240 CALL iom_rstput( 0, 0, inum4, 'gdept_0', gdept_0, ktype = jp_r4 ) 263 IF(nn_timing == 2) CALL timing_stop('rst_put')264 241 DO jk = 1,jpk 265 242 DO jj = 1, jpjm1 … … 271 248 END DO 272 249 CALL lbc_lnk( zdepu, 'U', 1. ) ; CALL lbc_lnk( zdepv, 'V', 1. ) 273 IF(nn_timing == 2) CALL timing_start('rst_put')274 250 CALL iom_rstput( 0, 0, inum4, 'gdepu', zdepu, ktype = jp_r4 ) 275 251 CALL iom_rstput( 0, 0, inum4, 'gdepv', zdepv, ktype = jp_r4 ) 276 252 CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 ) 277 IF(nn_timing == 2) CALL timing_stop('rst_put')278 253 ELSE ! ! 2D bottom depth 279 254 DO jj = 1,jpj … … 283 258 END DO 284 259 END DO 285 IF(nn_timing == 2) CALL timing_start('rst_put')286 260 CALL iom_rstput( 0, 0, inum4, 'hdept', zprt, ktype = jp_r4 ) 287 261 CALL iom_rstput( 0, 0, inum4, 'hdepw', zprw, ktype = jp_r4 ) 288 IF(nn_timing == 2) CALL timing_stop('rst_put')289 262 ENDIF 290 263 ! 291 IF(nn_timing == 2) CALL timing_start('rst_put')292 264 CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d ) ! ! reference z-coord. 293 265 CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 294 266 CALL iom_rstput( 0, 0, inum4, 'e3t_1d' , e3t_1d ) 295 267 CALL iom_rstput( 0, 0, inum4, 'e3w_1d' , e3w_1d ) 296 IF(nn_timing == 2) CALL timing_stop('rst_put')297 268 ENDIF 298 269 299 270 IF( ln_zco ) THEN 300 271 ! ! z-coordinate - full steps 301 IF(nn_timing == 2) CALL timing_start('rst_put')302 272 CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d ) ! ! depth 303 273 CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 304 274 CALL iom_rstput( 0, 0, inum4, 'e3t_1d' , e3t_1d ) ! ! scale factors 305 275 CALL iom_rstput( 0, 0, inum4, 'e3w_1d' , e3w_1d ) 306 IF(nn_timing == 2) CALL timing_stop('rst_put')307 276 ENDIF 308 277 ! ! ============================
Note: See TracChangeset
for help on using the changeset viewer.