Changeset 6498 for branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS
- Timestamp:
- 2016-04-27T16:01:22+02:00 (8 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/DMP_TOOLS/src/zoom.F90
r4739 r6498 29 29 NAMELIST/nam_zoom_dmp/lzoom_n,lzoom_e,lzoom_w,lzoom_s 30 30 !!---------------------------------------------------------------------- 31 !32 IF( nn_timing == 1 ) CALL timing_start( 'dtacof_zoom')33 !34 31 35 32 ! Read namelist -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/MISCELLANEOUS/icb_pp.py
r4990 r6498 55 55 if procnum < 1: 56 56 print('Need some files to collate! procnum = ',procnum) 57 sys.exit( )57 sys.exit(11) 58 58 59 59 icu = [] -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/MPP_PREP/src/mpp_optimiz_zoom_nc.f90
r6486 r6498 258 258 ijlb=ijdom(jni2,jnj2) 259 259 ENDIF 260 261 ! Check wet points over the entire domain to preserve the MPI communication stencil 260 262 isurf=0 261 DO jj=1 +jprecj,ippdj(jni2,jnj2)-jprecj262 DO ji=1 +jpreci,ippdi(jni2,jnj2)-jpreci263 DO jj=1,ippdj(jni2,jnj2) 264 DO ji=1,ippdi(jni2,jnj2) 263 265 IF(zmask(ji+iilb-1,jj+ijlb-1).EQ.1.) isurf=isurf+1 264 266 END DO 265 267 END DO 268 266 269 IF(isurf.EQ.0) THEN 267 270 ivide=ivide+1 -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/MPP_PREP/src/mppopt_showproc_nc.f90
r6486 r6498 289 289 ijlb=ijdom(jni2,jnj2) 290 290 ENDIF 291 292 ! Check wet points over the entire domain to preserve the MPI communication stencil 291 293 isurf=0 292 293 DO jj=1+jprecj,ippdj(jni2,jnj2)-jprecj 294 DO ji=1+jpreci,ippdi(jni2,jnj2)-jpreci 294 DO jj=1,ippdj(jni2,jnj2) 295 DO ji=1,ippdi(jni2,jnj2) 295 296 IF(zmask(ji+iilb-1,jj+ijlb-1).EQ.1.) isurf=isurf+1 296 297 END DO 297 298 END DO 299 298 300 IF(isurf.EQ.0) THEN 299 301 ivide=ivide+1 -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/OBSTOOLS/src/par_oce.F90
r6486 r6498 194 194 !!---------------------------------------------------------------------- 195 195 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 196 !! $Id$ 196 !! $Id$ 197 197 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 198 198 !!====================================================================== -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/REBUILD_NEMO/icb_combrest.py
r6491 r6498 1 import os 1 2 from netCDF4 import Dataset 2 3 from argparse import ArgumentParser … … 63 64 if procnum < 1: 64 65 print('Need some files to collate! procnum = ',procnum) 65 sys.exit( )66 sys.exit(11) 66 67 67 68 icu = [] … … 79 80 except: 80 81 print 'Error: unable to open input file: ' + pathstart+nn+'.nc' 81 sys.exit( )82 sys.exit(12) 82 83 for d in fw.dimensions : 83 84 if d == 'n' : … … 151 152 print 'Error accessing output file: ' + pathout 152 153 print 'Check it is a writable location.' 153 sys.exit( )154 sys.exit(13) 154 155 else : 156 # Copy 2D variables across to output file from input file. This step avoids problems if rebuild_nemo 157 # has created an "n" dimension in the prototype rebuilt file (ie. if there are icebergs on the zeroth 158 # processor). 155 159 try: 156 fo = Dataset(pathout, 'r+', format='NETCDF4') 160 os.rename(pathout,pathout.replace('.nc','_WORK.nc')) 161 except OSError: 162 print 'Error: unable to move icebergs restart file: '+pathout 163 sys.exit(14) 164 # 165 try: 166 fi = Dataset(pathout.replace('.nc','_WORK.nc'), 'r') 157 167 except: 158 print 'Error accessing output file: ' + pathout 159 print 'Check it exists and is writable.' 160 print 'Or run adding the -O option to create an output file which will' 161 print 'contain the iceberg state data only.' 162 sys.exit() 168 print 'Error: unable to open icebergs restart file: '+pathout.replace('.nc','_WORK.nc') 169 sys.exit(15) 170 fo = Dataset(pathout, 'w') 171 for dim in ['x','y','c']: 172 indim = fi.dimensions[dim] 173 fo.createDimension(dim, len(indim)) 174 for var in ['calving','calving_hflx','stored_ice','stored_heat']: 175 invar = fi.variables[var] 176 fo.createVariable(var, invar.datatype, invar.dimensions) 177 fo.variables[var][:] = invar[:] 178 fo.variables[var].long_name = invar.long_name 179 fo.variables[var].units = invar.units 180 os.remove(pathout.replace('.nc','_WORK.nc')) 163 181 # 164 182 add_k = 1 … … 166 184 if d == 'n' : 167 185 print 'Error: dimension n already exists in output file' 168 sys.exit( )186 sys.exit(16) 169 187 if d == 'k' : 170 188 add_k = 0 -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/TOOLS/REBUILD_NEMO/src/rebuild_nemo.f90
r3025 r6498 200 200 WRITE(numerr,*) 'Attribute DOMAIN_number_total is : ', ndomain_file 201 201 WRITE(numerr,*) 'Number of files specified in namelist is: ', ndomain 202 STOP 202 STOP 9 203 203 ENDIF 204 204 … … 268 268 WRITE(numerr,*) 'Attribute DOMAIN_local_sizes is : ', local_sizes 269 269 WRITE(numerr,*) 'Dimensions to be rebuilt are of size : ', outdimlens(rebuild_dims(1)), outdimlens(rebuild_dims(2)) 270 STOP 270 STOP 9 271 271 ENDIF 272 272 … … 384 384 SELECT CASE( xtype ) 385 385 CASE( NF90_BYTE ) 386 globaldata_0d_i1 = 0 386 387 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_0d_i1 ) ) 387 388 CASE( NF90_SHORT ) 389 globaldata_0d_i2 = 0 388 390 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_0d_i2 ) ) 389 391 CASE( NF90_INT ) 392 globaldata_0d_i4 = 0 390 393 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_0d_i4 ) ) 391 394 CASE( NF90_FLOAT ) 395 globaldata_0d_sp = 0. 392 396 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_0d_sp ) ) 393 397 CASE( NF90_DOUBLE ) 398 globaldata_0d_dp = 0. 394 399 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_0d_dp ) ) 395 400 CASE DEFAULT 396 401 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 397 STOP 402 STOP 9 398 403 END SELECT 399 404 … … 403 408 CASE( NF90_BYTE ) 404 409 ALLOCATE(globaldata_1d_i1(indimlens(dimids(1)))) 410 globaldata_1d_i1(:) = 0 405 411 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_1d_i1 ) ) 406 412 CASE( NF90_SHORT ) 407 413 ALLOCATE(globaldata_1d_i2(indimlens(dimids(1)))) 414 globaldata_1d_i2(:) = 0 408 415 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_1d_i2 ) ) 409 416 CASE( NF90_INT ) 410 417 ALLOCATE(globaldata_1d_i4(indimlens(dimids(1)))) 418 globaldata_1d_i4(:) = 0 411 419 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_1d_i4 ) ) 412 420 CASE( NF90_FLOAT ) 413 421 ALLOCATE(globaldata_1d_sp(indimlens(dimids(1)))) 422 globaldata_1d_sp(:) = 0. 414 423 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_1d_sp ) ) 415 424 CASE( NF90_DOUBLE ) 416 425 ALLOCATE(globaldata_1d_dp(indimlens(dimids(1)))) 426 globaldata_1d_dp(:) = 0. 417 427 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_1d_dp ) ) 418 428 CASE DEFAULT 419 429 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 420 STOP 430 STOP 9 421 431 END SELECT 422 432 … … 426 436 CASE( NF90_BYTE ) 427 437 ALLOCATE(globaldata_2d_i1(indimlens(dimids(1)),indimlens(dimids(2)))) 438 globaldata_2d_i1(:,:) = 0 428 439 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_2d_i1 ) ) 429 440 CASE( NF90_SHORT ) 430 441 ALLOCATE(globaldata_2d_i2(indimlens(dimids(1)),indimlens(dimids(2)))) 442 globaldata_2d_i2(:,:) = 0 431 443 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_2d_i2 ) ) 432 444 CASE( NF90_INT ) 433 445 ALLOCATE(globaldata_2d_i4(indimlens(dimids(1)),indimlens(dimids(2)))) 446 globaldata_2d_i4(:,:) = 0 434 447 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_2d_i4 ) ) 435 448 CASE( NF90_FLOAT ) 436 449 ALLOCATE(globaldata_2d_sp(indimlens(dimids(1)),indimlens(dimids(2)))) 450 globaldata_2d_sp(:,:) = 0. 437 451 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_2d_sp ) ) 438 452 CASE( NF90_DOUBLE ) 439 453 ALLOCATE(globaldata_2d_dp(indimlens(dimids(1)),indimlens(dimids(2)))) 454 globaldata_2d_dp(:,:) = 0. 440 455 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_2d_dp ) ) 441 456 CASE DEFAULT 442 457 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 443 STOP 458 STOP 9 444 459 END SELECT 445 460 … … 450 465 ALLOCATE(globaldata_3d_i1(indimlens(dimids(1)),indimlens(dimids(2)), & 451 466 & indimlens(dimids(3)))) 467 globaldata_3d_i1(:,:,:) = 0 452 468 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_3d_i1 ) ) 453 469 CASE( NF90_SHORT ) 454 470 ALLOCATE(globaldata_3d_i2(indimlens(dimids(1)),indimlens(dimids(2)), & 455 471 & indimlens(dimids(3)))) 472 globaldata_3d_i2(:,:,:) = 0 456 473 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_3d_i2 ) ) 457 474 CASE( NF90_INT ) 458 475 ALLOCATE(globaldata_3d_i4(indimlens(dimids(1)),indimlens(dimids(2)), & 459 476 & indimlens(dimids(3)))) 477 globaldata_3d_i4(:,:,:) = 0 460 478 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_3d_i4 ) ) 461 479 CASE( NF90_FLOAT ) 462 480 ALLOCATE(globaldata_3d_sp(indimlens(dimids(1)),indimlens(dimids(2)), & 463 481 & indimlens(dimids(3)))) 482 globaldata_3d_sp(:,:,:) = 0. 464 483 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_3d_sp ) ) 465 484 CASE( NF90_DOUBLE ) 466 485 ALLOCATE(globaldata_3d_dp(indimlens(dimids(1)),indimlens(dimids(2)), & 467 486 & indimlens(dimids(3)))) 487 globaldata_3d_dp(:,:,:) = 0. 468 488 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_3d_dp ) ) 469 489 CASE DEFAULT 470 490 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 471 STOP 491 STOP 9 472 492 END SELECT 473 493 … … 478 498 ALLOCATE(globaldata_4d_i1(indimlens(dimids(1)),indimlens(dimids(2)), & 479 499 & indimlens(dimids(3)),ntchunk)) 500 globaldata_4d_i1(:,:,:,:) = 0 480 501 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_4d_i1, start=(/1,1,1,nt/) ) ) 481 502 CASE( NF90_SHORT ) 482 503 ALLOCATE(globaldata_4d_i2(indimlens(dimids(1)),indimlens(dimids(2)), & 483 504 & indimlens(dimids(3)),ntchunk)) 505 globaldata_4d_i2(:,:,:,:) = 0 484 506 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_4d_i2, start=(/1,1,1,nt/) ) ) 485 507 CASE( NF90_INT ) 486 508 ALLOCATE(globaldata_4d_i4(indimlens(dimids(1)),indimlens(dimids(2)), & 487 509 & indimlens(dimids(3)),ntchunk)) 510 globaldata_4d_i4(:,:,:,:) = 0 488 511 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_4d_i4, start=(/1,1,1,nt/) ) ) 489 512 CASE( NF90_FLOAT ) 490 513 ALLOCATE(globaldata_4d_sp(indimlens(dimids(1)),indimlens(dimids(2)), & 491 514 & indimlens(dimids(3)),ntchunk)) 515 globaldata_4d_sp(:,:,:,:) = 0. 492 516 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_4d_sp, start=(/1,1,1,nt/) ) ) 493 517 CASE( NF90_DOUBLE ) 494 518 ALLOCATE(globaldata_4d_dp(indimlens(dimids(1)),indimlens(dimids(2)), & 495 519 & indimlens(dimids(3)),ntchunk)) 520 globaldata_4d_dp(:,:,:,:) = 0. 496 521 CALL check_nf90( nf90_get_var( ncid, jv, globaldata_4d_dp, start=(/1,1,1,nt/) ) ) 497 522 CASE DEFAULT 498 523 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 499 STOP 524 STOP 9 500 525 END SELECT 501 526 … … 517 542 CASE( NF90_BYTE ) 518 543 ALLOCATE(globaldata_1d_i1(outdimlens(dimids(1)))) 544 globaldata_1d_i1(:) = 0 519 545 CASE( NF90_SHORT ) 520 546 ALLOCATE(globaldata_1d_i2(outdimlens(dimids(1)))) 547 globaldata_1d_i2(:) = 0 521 548 CASE( NF90_INT ) 522 549 ALLOCATE(globaldata_1d_i4(outdimlens(dimids(1)))) 550 globaldata_1d_i4(:) = 0 523 551 CASE( NF90_FLOAT ) 524 552 ALLOCATE(globaldata_1d_sp(outdimlens(dimids(1)))) 553 globaldata_1d_sp(:) = 0. 525 554 CASE( NF90_DOUBLE ) 526 555 ALLOCATE(globaldata_1d_dp(outdimlens(dimids(1)))) 556 globaldata_1d_dp(:) = 0. 527 557 CASE DEFAULT 528 558 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 529 STOP 559 STOP 9 530 560 END SELECT 531 561 … … 535 565 CASE( NF90_BYTE ) 536 566 ALLOCATE(globaldata_2d_i1(outdimlens(dimids(1)),outdimlens(dimids(2)))) 567 globaldata_2d_i1(:,:) = 0 537 568 CASE( NF90_SHORT ) 538 569 ALLOCATE(globaldata_2d_i2(outdimlens(dimids(1)),outdimlens(dimids(2)))) 570 globaldata_2d_i2(:,:) = 0 539 571 CASE( NF90_INT ) 540 572 ALLOCATE(globaldata_2d_i4(outdimlens(dimids(1)),outdimlens(dimids(2)))) 573 globaldata_2d_i4(:,:) = 0 541 574 CASE( NF90_FLOAT ) 542 575 ALLOCATE(globaldata_2d_sp(outdimlens(dimids(1)),outdimlens(dimids(2)))) 576 globaldata_2d_sp(:,:) = 0. 543 577 CASE( NF90_DOUBLE ) 544 578 ALLOCATE(globaldata_2d_dp(outdimlens(dimids(1)),outdimlens(dimids(2)))) 579 globaldata_2d_dp(:,:) = 0. 545 580 CASE DEFAULT 546 581 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 547 STOP 582 STOP 9 548 583 END SELECT 549 584 … … 554 589 ALLOCATE(globaldata_3d_i1(outdimlens(dimids(1)),outdimlens(dimids(2)), & 555 590 & outdimlens(dimids(3)))) 591 globaldata_3d_i1(:,:,:) = 0 556 592 CASE( NF90_SHORT ) 557 593 ALLOCATE(globaldata_3d_i2(outdimlens(dimids(1)),outdimlens(dimids(2)), & 558 594 & outdimlens(dimids(3)))) 595 globaldata_3d_i2(:,:,:) = 0 559 596 CASE( NF90_INT ) 560 597 ALLOCATE(globaldata_3d_i4(outdimlens(dimids(1)),outdimlens(dimids(2)), & 561 598 & outdimlens(dimids(3)))) 599 globaldata_3d_i4(:,:,:) = 0 562 600 CASE( NF90_FLOAT ) 563 601 ALLOCATE(globaldata_3d_sp(outdimlens(dimids(1)),outdimlens(dimids(2)), & 564 602 & outdimlens(dimids(3)))) 603 globaldata_3d_sp(:,:,:) = 0. 565 604 CASE( NF90_DOUBLE ) 566 605 ALLOCATE(globaldata_3d_dp(outdimlens(dimids(1)),outdimlens(dimids(2)), & 567 606 & outdimlens(dimids(3)))) 607 globaldata_3d_dp(:,:,:) = 0. 568 608 CASE DEFAULT 569 609 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 570 STOP 610 STOP 9 571 611 END SELECT 572 612 … … 577 617 ALLOCATE(globaldata_4d_i1(outdimlens(dimids(1)),outdimlens(dimids(2)), & 578 618 & outdimlens(dimids(3)),ntchunk)) 619 globaldata_4d_i1(:,:,:,:) = 0 579 620 CASE( NF90_SHORT ) 580 621 ALLOCATE(globaldata_4d_i2(outdimlens(dimids(1)),outdimlens(dimids(2)), & 581 622 & outdimlens(dimids(3)),ntchunk)) 623 globaldata_4d_i2(:,:,:,:) = 0 582 624 CASE( NF90_INT ) 583 625 ALLOCATE(globaldata_4d_i4(outdimlens(dimids(1)),outdimlens(dimids(2)), & 584 626 & outdimlens(dimids(3)),ntchunk)) 627 globaldata_4d_i4(:,:,:,:) = 0 585 628 CASE( NF90_FLOAT ) 586 629 ALLOCATE(globaldata_4d_sp(outdimlens(dimids(1)),outdimlens(dimids(2)), & 587 630 & outdimlens(dimids(3)),ntchunk)) 631 globaldata_4d_sp(:,:,:,:) = 0. 588 632 CASE( NF90_DOUBLE ) 589 633 ALLOCATE(globaldata_4d_dp(outdimlens(dimids(1)),outdimlens(dimids(2)), & 590 634 & outdimlens(dimids(3)),ntchunk)) 635 globaldata_4d_dp(:,:,:,:) = 0. 591 636 CASE DEFAULT 592 637 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 593 STOP 638 STOP 9 594 639 END SELECT 595 640 ELSE 596 641 WRITE(numerr,*) 'ERROR! : A netcdf variable has more than 4 dimensions which is not taken into account' 597 STOP 642 STOP 9 598 643 ENDIF 599 644 … … 967 1012 IF( nthreads == 1 .AND. istop /= nf90_noerr ) THEN 968 1013 WRITE(numerr,*) '*** NEMO rebuild failed! ***' 969 STOP 1014 STOP 9 970 1015 ENDIF 971 1016 … … 976 1021 IF( istop /= nf90_noerr ) THEN 977 1022 WRITE(numerr,*) '*** NEMO rebuild failed! ***' 978 STOP 1023 STOP 9 979 1024 ENDIF 980 1025 … … 1050 1095 CASE DEFAULT 1051 1096 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 1052 STOP 1097 STOP 9 1053 1098 END SELECT 1054 1099 … … 1073 1118 CASE DEFAULT 1074 1119 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 1075 STOP 1120 STOP 9 1076 1121 END SELECT 1077 1122 … … 1096 1141 CASE DEFAULT 1097 1142 WRITE(numerr,*) 'Unknown nf90 type: ', xtype 1098 STOP 1143 STOP 9 1099 1144 END SELECT 1100 1145 … … 1146 1191 WRITE(numerr,*) "*** NEMO rebuild failed ***" 1147 1192 WRITE(numerr,*) 1148 STOP 1193 STOP 9 1149 1194 ENDIF 1150 1195 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.