- Timestamp:
- 2017-09-13T18:46:56+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90
r8514 r8518 17 17 !!---------------------------------------------------------------------- 18 18 USE ice ! sea-ice variables 19 USE sbc_ice , ONLY : snwice_mass, snwice_mass_b20 19 USE dom_oce ! ocean domain 21 20 USE sbc_oce , ONLY : nn_fsbc … … 30 29 PRIVATE 31 30 32 PUBLIC ice_rst_opn ! routine called by icestep.F90 33 PUBLIC ice_rst_write ! routine called by icestep.F90 34 PUBLIC ice_rst_read ! routine called by ice_init 35 36 LOGICAL, PUBLIC :: lrst_ice !: logical to control the ice restart write 37 INTEGER, PUBLIC :: numrir, numriw !: logical unit for ice restart (read and write) 31 PUBLIC ice_rst_opn ! called by icestp 32 PUBLIC ice_rst_write ! called by icestp 33 PUBLIC ice_rst_read ! called by ice_init 38 34 39 35 !!---------------------------------------------------------------------- … … 79 75 WRITE(numout,*) ' open ice restart NetCDF file: ',TRIM(clpath)//clname 80 76 END SELECT 81 IF( kt == nitrst - 2*nn_fsbc + 1 ) THEN 82 WRITE(numout,*) ' kt = nitrst - 2*nn_fsbc + 1 = ', kt,' date= ', ndastp 83 ELSE ; WRITE(numout,*) ' kt = ' , kt,' date= ', ndastp 77 IF( kt == nitrst - 2*nn_fsbc + 1 ) THEN 78 WRITE(numout,*) ' kt = nitrst - 2*nn_fsbc + 1 = ', kt,' date= ', ndastp 79 ELSE 80 WRITE(numout,*) ' kt = ' , kt,' date= ', ndastp 84 81 ENDIF 85 82 ENDIF … … 102 99 INTEGER, INTENT(in) :: kt ! number of iteration 103 100 !! 104 INTEGER :: j i, jj, jk ,jl ! dummy loop indices101 INTEGER :: jk ,jl ! dummy loop indices 105 102 INTEGER :: iter 106 103 CHARACTER(len=25) :: znam … … 127 124 !!gm "just" ask Sebatien 128 125 129 130 126 ! Prognostic variables 131 127 DO jl = 1, jpl … … 133 129 znam = 'v_i'//'_htc'//zchar 134 130 z2d(:,:) = v_i(:,:,jl) 135 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 131 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_i 136 132 znam = 'v_s'//'_htc'//zchar 137 133 z2d(:,:) = v_s(:,:,jl) 138 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 134 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_s 139 135 znam = 'smv_i'//'_htc'//zchar 140 136 z2d(:,:) = smv_i(:,:,jl) 141 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 137 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! smv_i 142 138 znam = 'oa_i'//'_htc'//zchar 143 139 z2d(:,:) = oa_i(:,:,jl) 144 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 140 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! oa_i 145 141 znam = 'a_i'//'_htc'//zchar 146 142 z2d(:,:) = a_i(:,:,jl) 147 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 143 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! a_i 148 144 znam = 't_su'//'_htc'//zchar 149 145 z2d(:,:) = t_su(:,:,jl) 150 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 146 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! t_su 151 147 END DO 152 148 … … 157 153 znam = 'a_ip'//'_htc'//zchar 158 154 z2d(:,:) = a_ip(:,:,jl) 159 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 155 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! a_ip 160 156 znam = 'v_ip'//'_htc'//zchar 161 157 z2d(:,:) = v_ip(:,:,jl) 162 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 158 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_ip 163 159 END DO 164 160 ENDIF … … 169 165 znam = 'tempt_sl1'//'_htc'//zchar 170 166 z2d(:,:) = e_s(:,:,1,jl) 171 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 167 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! e_s 172 168 DO jk = 1, nlay_i 173 169 WRITE(zchar1,'(I2.2)') jk 174 170 znam = 'tempt'//'_il'//zchar1//'_htc'//zchar 175 171 z2d(:,:) = e_i(:,:,jk,jl) 176 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 177 END DO 178 END DO 179 180 CALL iom_rstput( iter, nitrst, numriw, 'u_ice' , u_ice ) 181 CALL iom_rstput( iter, nitrst, numriw, 'v_ice' , v_ice ) 182 CALL iom_rstput( iter, nitrst, numriw, 'stress1_i' , stress1_i ) 183 CALL iom_rstput( iter, nitrst, numriw, 'stress2_i' , stress2_i ) 184 CALL iom_rstput( iter, nitrst, numriw, 'stress12_i' , stress12_i ) 185 CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass' , snwice_mass ) 186 CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b ) 187 188 ! In case Prather scheme is used for advection, write second order moments 189 ! ------------------------------------------------------------------------ 190 IF( ln_adv_Pra ) THEN 191 192 DO jl = 1, jpl 193 WRITE(zchar,'(I2.2)') jl 194 znam = 'sxice'//'_htc'//zchar 195 z2d(:,:) = sxice(:,:,jl) 196 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 197 znam = 'syice'//'_htc'//zchar 198 z2d(:,:) = syice(:,:,jl) 199 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 200 znam = 'sxxice'//'_htc'//zchar 201 z2d(:,:) = sxxice(:,:,jl) 202 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 203 znam = 'syyice'//'_htc'//zchar 204 z2d(:,:) = syyice(:,:,jl) 205 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 206 znam = 'sxyice'//'_htc'//zchar 207 z2d(:,:) = sxyice(:,:,jl) 208 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 209 znam = 'sxsn'//'_htc'//zchar 210 z2d(:,:) = sxsn(:,:,jl) 211 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 212 znam = 'sysn'//'_htc'//zchar 213 z2d(:,:) = sysn(:,:,jl) 214 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 215 znam = 'sxxsn'//'_htc'//zchar 216 z2d(:,:) = sxxsn(:,:,jl) 217 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 218 znam = 'syysn'//'_htc'//zchar 219 z2d(:,:) = syysn(:,:,jl) 220 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 221 znam = 'sxysn'//'_htc'//zchar 222 z2d(:,:) = sxysn(:,:,jl) 223 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 224 znam = 'sxa'//'_htc'//zchar 225 z2d(:,:) = sxa(:,:,jl) 226 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 227 znam = 'sya'//'_htc'//zchar 228 z2d(:,:) = sya(:,:,jl) 229 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 230 znam = 'sxxa'//'_htc'//zchar 231 z2d(:,:) = sxxa(:,:,jl) 232 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 233 znam = 'syya'//'_htc'//zchar 234 z2d(:,:) = syya(:,:,jl) 235 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 236 znam = 'sxya'//'_htc'//zchar 237 z2d(:,:) = sxya(:,:,jl) 238 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 239 znam = 'sxc0'//'_htc'//zchar 240 z2d(:,:) = sxc0(:,:,jl) 241 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 242 znam = 'syc0'//'_htc'//zchar 243 z2d(:,:) = syc0(:,:,jl) 244 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 245 znam = 'sxxc0'//'_htc'//zchar 246 z2d(:,:) = sxxc0(:,:,jl) 247 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 248 znam = 'syyc0'//'_htc'//zchar 249 z2d(:,:) = syyc0(:,:,jl) 250 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 251 znam = 'sxyc0'//'_htc'//zchar 252 z2d(:,:) = sxyc0(:,:,jl) 253 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 254 znam = 'sxsal'//'_htc'//zchar 255 z2d(:,:) = sxsal(:,:,jl) 256 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 257 znam = 'sysal'//'_htc'//zchar 258 z2d(:,:) = sysal(:,:,jl) 259 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 260 znam = 'sxxsal'//'_htc'//zchar 261 z2d(:,:) = sxxsal(:,:,jl) 262 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 263 znam = 'syysal'//'_htc'//zchar 264 z2d(:,:) = syysal(:,:,jl) 265 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 266 znam = 'sxysal'//'_htc'//zchar 267 z2d(:,:) = sxysal(:,:,jl) 268 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 269 znam = 'sxage'//'_htc'//zchar 270 z2d(:,:) = sxage(:,:,jl) 271 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 272 znam = 'syage'//'_htc'//zchar 273 z2d(:,:) = syage(:,:,jl) 274 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 275 znam = 'sxxage'//'_htc'//zchar 276 z2d(:,:) = sxxage(:,:,jl) 277 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 278 znam = 'syyage'//'_htc'//zchar 279 z2d(:,:) = syyage(:,:,jl) 280 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 281 znam = 'sxyage'//'_htc'//zchar 282 z2d(:,:) = sxyage(:,:,jl) 283 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 284 END DO 285 286 CALL iom_rstput( iter, nitrst, numriw, 'sxopw ' , sxopw ) 287 CALL iom_rstput( iter, nitrst, numriw, 'syopw ' , syopw ) 288 CALL iom_rstput( iter, nitrst, numriw, 'sxxopw' , sxxopw ) 289 CALL iom_rstput( iter, nitrst, numriw, 'syyopw' , syyopw ) 290 CALL iom_rstput( iter, nitrst, numriw, 'sxyopw' , sxyopw ) 291 292 DO jl = 1, jpl 293 WRITE(zchar,'(I2.2)') jl 294 DO jk = 1, nlay_i 295 WRITE(zchar1,'(I2.2)') jk 296 znam = 'sxe'//'_il'//zchar1//'_htc'//zchar 297 z2d(:,:) = sxe(:,:,jk,jl) 298 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 299 znam = 'sye'//'_il'//zchar1//'_htc'//zchar 300 z2d(:,:) = sye(:,:,jk,jl) 301 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 302 znam = 'sxxe'//'_il'//zchar1//'_htc'//zchar 303 z2d(:,:) = sxxe(:,:,jk,jl) 304 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 305 znam = 'syye'//'_il'//zchar1//'_htc'//zchar 306 z2d(:,:) = syye(:,:,jk,jl) 307 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 308 znam = 'sxye'//'_il'//zchar1//'_htc'//zchar 309 z2d(:,:) = sxye(:,:,jk,jl) 310 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 311 END DO 312 END DO 313 ! MV MP 2016 314 IF ( nn_pnd_scheme > 0 ) THEN 315 DO jl = 1, jpl 316 WRITE(zchar,'(I2.2)') jl 317 znam = 'sxap'//'_htc'//zchar 318 z2d(:,:) = sxap(:,:,jl) 319 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 320 znam = 'syap'//'_htc'//zchar 321 z2d(:,:) = syap(:,:,jl) 322 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 323 znam = 'sxxap'//'_htc'//zchar 324 z2d(:,:) = sxxap(:,:,jl) 325 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 326 znam = 'syyap'//'_htc'//zchar 327 z2d(:,:) = syyap(:,:,jl) 328 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 329 znam = 'sxyap'//'_htc'//zchar 330 z2d(:,:) = sxyap(:,:,jl) 331 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 332 333 znam = 'sxvp'//'_htc'//zchar 334 z2d(:,:) = sxvp(:,:,jl) 335 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 336 znam = 'syvp'//'_htc'//zchar 337 z2d(:,:) = syvp(:,:,jl) 338 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 339 znam = 'sxxvp'//'_htc'//zchar 340 z2d(:,:) = sxxvp(:,:,jl) 341 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 342 znam = 'syyvp'//'_htc'//zchar 343 z2d(:,:) = syyvp(:,:,jl) 344 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 345 znam = 'sxyvp'//'_htc'//zchar 346 z2d(:,:) = sxyvp(:,:,jl) 347 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 348 END DO 349 ENDIF 350 351 ENDIF 172 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! e_i 173 END DO 174 END DO 175 176 CALL iom_rstput( iter, nitrst, numriw, 'u_ice', u_ice ) ! u_ice 177 CALL iom_rstput( iter, nitrst, numriw, 'v_ice', v_ice ) ! v_ice 352 178 353 179 ! close restart file … … 368 194 !! ** purpose : read of sea-ice variable restart in a netcdf file 369 195 !!---------------------------------------------------------------------- 370 INTEGER :: j i, jj, jk, jl196 INTEGER :: jk, jl 371 197 REAL(wp) :: zfice, ziter 372 198 REAL(wp), DIMENSION(jpi,jpj) :: z2d … … 379 205 IF(lwp) THEN 380 206 WRITE(numout,*) 381 WRITE(numout,*) 'ice_rst_read 382 WRITE(numout,*) '~~~~~~~~~~~~ ~'207 WRITE(numout,*) 'ice_rst_read: read ice NetCDF restart file' 208 WRITE(numout,*) '~~~~~~~~~~~~' 383 209 ENDIF 384 210 … … 390 216 IF(lwp) WRITE(numout,*) ' in any case we force it to nit000 - 1 : ', nit000 - 1 391 217 392 !Control of date 393 218 ! Control of date 394 219 IF( ( nit000 - NINT(ziter) ) /= 1 .AND. ABS( nrstdt ) == 1 ) & 395 220 & CALL ctl_stop( 'ice_rst_read ===>>>> : problem with nit000 in ice restart', & … … 451 276 END DO 452 277 453 CALL iom_get( numrir, jpdom_autoglo, 'u_ice' , u_ice ) 454 CALL iom_get( numrir, jpdom_autoglo, 'v_ice' , v_ice ) 455 CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i ) 456 CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i ) 457 CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 458 CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass' , snwice_mass ) 459 CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) 460 461 ! In case Prather scheme is used for advection, read second order moments 462 ! ------------------------------------------------------------------------ 463 IF( ln_adv_Pra ) THEN 464 465 DO jl = 1, jpl 466 WRITE(zchar,'(I2.2)') jl 467 znam = 'sxice'//'_htc'//zchar 468 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 469 sxice(:,:,jl) = z2d(:,:) 470 znam = 'syice'//'_htc'//zchar 471 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 472 syice(:,:,jl) = z2d(:,:) 473 znam = 'sxxice'//'_htc'//zchar 474 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 475 sxxice(:,:,jl) = z2d(:,:) 476 znam = 'syyice'//'_htc'//zchar 477 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 478 syyice(:,:,jl) = z2d(:,:) 479 znam = 'sxyice'//'_htc'//zchar 480 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 481 sxyice(:,:,jl) = z2d(:,:) 482 znam = 'sxsn'//'_htc'//zchar 483 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 484 sxsn(:,:,jl) = z2d(:,:) 485 znam = 'sysn'//'_htc'//zchar 486 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 487 sysn(:,:,jl) = z2d(:,:) 488 znam = 'sxxsn'//'_htc'//zchar 489 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 490 sxxsn(:,:,jl) = z2d(:,:) 491 znam = 'syysn'//'_htc'//zchar 492 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 493 syysn(:,:,jl) = z2d(:,:) 494 znam = 'sxysn'//'_htc'//zchar 495 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 496 sxysn(:,:,jl) = z2d(:,:) 497 znam = 'sxa'//'_htc'//zchar 498 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 499 sxa(:,:,jl) = z2d(:,:) 500 znam = 'sya'//'_htc'//zchar 501 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 502 sya(:,:,jl) = z2d(:,:) 503 znam = 'sxxa'//'_htc'//zchar 504 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 505 sxxa(:,:,jl) = z2d(:,:) 506 znam = 'syya'//'_htc'//zchar 507 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 508 syya(:,:,jl) = z2d(:,:) 509 znam = 'sxya'//'_htc'//zchar 510 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 511 sxya(:,:,jl) = z2d(:,:) 512 znam = 'sxc0'//'_htc'//zchar 513 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 514 sxc0(:,:,jl) = z2d(:,:) 515 znam = 'syc0'//'_htc'//zchar 516 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 517 syc0(:,:,jl) = z2d(:,:) 518 znam = 'sxxc0'//'_htc'//zchar 519 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 520 sxxc0(:,:,jl) = z2d(:,:) 521 znam = 'syyc0'//'_htc'//zchar 522 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 523 syyc0(:,:,jl) = z2d(:,:) 524 znam = 'sxyc0'//'_htc'//zchar 525 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 526 sxyc0(:,:,jl) = z2d(:,:) 527 znam = 'sxsal'//'_htc'//zchar 528 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 529 sxsal(:,:,jl) = z2d(:,:) 530 znam = 'sysal'//'_htc'//zchar 531 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 532 sysal(:,:,jl) = z2d(:,:) 533 znam = 'sxxsal'//'_htc'//zchar 534 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 535 sxxsal(:,:,jl) = z2d(:,:) 536 znam = 'syysal'//'_htc'//zchar 537 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 538 syysal(:,:,jl) = z2d(:,:) 539 znam = 'sxysal'//'_htc'//zchar 540 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 541 sxysal(:,:,jl) = z2d(:,:) 542 znam = 'sxage'//'_htc'//zchar 543 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 544 sxage(:,:,jl) = z2d(:,:) 545 znam = 'syage'//'_htc'//zchar 546 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 547 syage(:,:,jl) = z2d(:,:) 548 znam = 'sxxage'//'_htc'//zchar 549 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 550 sxxage(:,:,jl) = z2d(:,:) 551 znam = 'syyage'//'_htc'//zchar 552 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 553 syyage(:,:,jl) = z2d(:,:) 554 znam = 'sxyage'//'_htc'//zchar 555 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 556 sxyage(:,:,jl)= z2d(:,:) 557 END DO 558 ! MV MP 2016 559 IF ( nn_pnd_scheme > 0 ) THEN 560 DO jl = 1, jpl 561 WRITE(zchar,'(I2.2)') jl 562 znam = 'sxap'//'_htc'//zchar 563 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 564 sxap(:,:,jl) = z2d(:,:) 565 znam = 'syap'//'_htc'//zchar 566 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 567 syap(:,:,jl) = z2d(:,:) 568 znam = 'sxxap'//'_htc'//zchar 569 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 570 sxxap(:,:,jl) = z2d(:,:) 571 znam = 'syyap'//'_htc'//zchar 572 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 573 syyap(:,:,jl) = z2d(:,:) 574 znam = 'sxyap'//'_htc'//zchar 575 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 576 sxyap(:,:,jl) = z2d(:,:) 577 578 znam = 'sxvp'//'_htc'//zchar 579 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 580 sxvp(:,:,jl) = z2d(:,:) 581 znam = 'syvp'//'_htc'//zchar 582 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 583 syvp(:,:,jl) = z2d(:,:) 584 znam = 'sxxvp'//'_htc'//zchar 585 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 586 sxxvp(:,:,jl) = z2d(:,:) 587 znam = 'syyvp'//'_htc'//zchar 588 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 589 syyvp(:,:,jl) = z2d(:,:) 590 znam = 'sxyvp'//'_htc'//zchar 591 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 592 sxyvp(:,:,jl) = z2d(:,:) 593 END DO 594 ENDIF 595 ! END MV MP 2016 596 597 CALL iom_get( numrir, jpdom_autoglo, 'sxopw ' , sxopw ) 598 CALL iom_get( numrir, jpdom_autoglo, 'syopw ' , syopw ) 599 CALL iom_get( numrir, jpdom_autoglo, 'sxxopw' , sxxopw ) 600 CALL iom_get( numrir, jpdom_autoglo, 'syyopw' , syyopw ) 601 CALL iom_get( numrir, jpdom_autoglo, 'sxyopw' , sxyopw ) 602 603 DO jl = 1, jpl 604 WRITE(zchar,'(I2.2)') jl 605 DO jk = 1, nlay_i 606 WRITE(zchar1,'(I2.2)') jk 607 znam = 'sxe'//'_il'//zchar1//'_htc'//zchar 608 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 609 sxe(:,:,jk,jl) = z2d(:,:) 610 znam = 'sye'//'_il'//zchar1//'_htc'//zchar 611 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 612 sye(:,:,jk,jl) = z2d(:,:) 613 znam = 'sxxe'//'_il'//zchar1//'_htc'//zchar 614 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 615 sxxe(:,:,jk,jl) = z2d(:,:) 616 znam = 'syye'//'_il'//zchar1//'_htc'//zchar 617 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 618 syye(:,:,jk,jl) = z2d(:,:) 619 znam = 'sxye'//'_il'//zchar1//'_htc'//zchar 620 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 621 sxye(:,:,jk,jl) = z2d(:,:) 622 END DO 623 END DO 624 ! 625 END IF 626 627 ! clem: I do not understand why the following IF is needed 628 ! I suspect something inconsistent in the main code with option nn_icesal=1 629 IF( nn_icesal == 1 ) THEN 630 DO jl = 1, jpl 631 sm_i(:,:,jl) = rn_icesal 632 DO jk = 1, nlay_i 633 s_i(:,:,jk,jl) = rn_icesal 634 END DO 635 END DO 636 ENDIF 637 ! 638 !CALL iom_close( numrir ) !clem: closed in icestp.F90 639 ! 278 CALL iom_get( numrir, jpdom_autoglo, 'u_ice', u_ice ) 279 CALL iom_get( numrir, jpdom_autoglo, 'v_ice', v_ice ) 280 640 281 END SUBROUTINE ice_rst_read 641 282
Note: See TracChangeset
for help on using the changeset viewer.