- Timestamp:
- 03/07/12 10:39:55 (12 years ago)
- Location:
- branches/libIGCM_MPI_OpenMP
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/libIGCM_MPI_OpenMP
-
Property
svn:mergeinfo
set to
False
/trunk/libIGCM merged eligible
-
Property
svn:mergeinfo
set to
False
-
branches/libIGCM_MPI_OpenMP/libIGCM_sys/libIGCM_sys_mercure.ksh
r521 r571 62 62 63 63 #===================================================== 64 # Host and user names 64 # Host and user names 65 65 # $hostname ou hostname 66 66 typeset HOST=${HOST:=$( hostname )} … … 107 107 #==================================================== 108 108 #- IN 109 typeset -r R_IN=${R_IN:=/ dmnfs/cont003/p86ipsl/IGCM}109 typeset -r R_IN=${R_IN:=/ccc/work/cont003/dsm/p86ipsl/IGCM} 110 110 typeset -r R_IN_ECMWF=${R_IN_ECMWF:=/dmnfs/cont003/p24data} 111 111 112 112 #==================================================== 113 #- OUT113 #- R_OUT 114 114 typeset -r R_OUT=${ARCHIVE}/IGCM_OUT 115 115 116 116 #==================================================== 117 #- OUT_SCR (ONLY FOR double copy an scratch) 118 typeset -r R_OUT_SCR=${SCRATCHDIR}/IGCM_OUT 117 #- R_BUF (ONLY FOR double copy an scratch) 118 typeset -r R_BUF=${SCRATCHDIR}/IGCM_OUT 119 120 #==================================================== 121 #- BIG_DIR : BIG_DIR to store files waiting for rebuild 122 typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD} 119 123 120 124 #==================================================== … … 125 129 #- RUN_DIR_PATH : Temporary working directory (=> TMP) 126 130 typeset -r RUN_DIR_PATH=${RUN_DIR_PATH:=${CSCRATCHDIR}/TMPDIR_IGCM/${JOBID}} 127 128 #====================================================129 #- BIG_DIR : BIG_DIR to store files waiting for rebuild130 typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD}131 131 132 132 #==================================================== … … 144 144 #D- 145 145 function IGCM_sys_RshMaster { 146 147 146 IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 147 /bin/ksh <<-EOF 148 148 export libIGCM=${libIGCM} 149 149 export DEBUG_debug=${DEBUG_debug} … … 152 152 ${@} 153 153 EOF 154 155 156 157 158 154 if [ $? -gt 0 ] ; then 155 echo "IGCM_sys_RshMaster : erreur." 156 IGCM_debug_Exit "IGCM_sys_RshMaster" 157 fi 158 IGCM_debug_PopStack "IGCM_sys_RshMaster" 159 159 } 160 160 … … 165 165 #D- 166 166 function IGCM_sys_RshArchive { 167 168 167 IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 168 /bin/ksh <<-EOF 169 169 ${@} 170 170 EOF 171 172 173 174 175 171 if [ $? -gt 0 ] ; then 172 echo "IGCM_sys_RshArchive : erreur." 173 IGCM_debug_Exit "IGCM_sys_RshArchive" 174 fi 175 IGCM_debug_PopStack "IGCM_sys_RshArchive" 176 176 } 177 177 … … 182 182 #D- 183 183 function IGCM_sys_RshPost { 184 185 186 187 188 189 190 191 192 193 184 IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 185 if ( $DEBUG_sys ) ; then 186 echo "IGCM_sys_RshPost :" $@ 187 fi 188 /bin/ksh ${@} 189 if [ $? -gt 0 ] ; then 190 echo "IGCM_sys_RshPost : erreur." 191 IGCM_debug_Exit "IGCM_sys_RshPost" 192 fi 193 IGCM_debug_PopStack "IGCM_sys_RshPost" 194 194 } 195 195 … … 200 200 #D- 201 201 function IGCM_sys_SendMail { 202 203 204 205 206 207 208 209 210 211 212 202 IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 203 if ( $DEBUG_sys ) ; then 204 echo "IGCM_sys_SendMail :" $@ 205 fi 206 207 if ( ${ExitFlag} ) ; then 208 status=failed 209 else 210 status=completed 211 fi 212 cat << END_MAIL > job_end.mail 213 213 Dear ${LOGIN}, 214 214 … … 220 220 END_MAIL 221 221 222 223 224 225 226 227 228 229 230 231 232 233 234 222 if [ X"${config_UserChoices_MailName}" != X ] ; then 223 mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} < job_end.mail 224 elif [ -f ~/.forward ] ; then 225 mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail 226 else 227 mailx -s "${config_UserChoices_JobName} ${status}" ${LOGIN} < job_end.mail 228 fi 229 230 if [ $? -gt 0 ] ; then 231 echo "IGCM_sys_SendMail : erreur." 232 IGCM_debug_Exit "IGCM_sys_SendMail" 233 fi 234 IGCM_debug_PopStack "IGCM_sys_SendMail" 235 235 } 236 236 … … 241 241 #D- 242 242 function IGCM_sys_Mkdir { 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 243 IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 244 if ( $DEBUG_sys ) ; then 245 echo "IGCM_sys_Mkdir :" $@ 246 fi 247 if [ ! -d ${1} ]; then 248 \mkdir -p $1 249 if [ $? -gt 0 ] ; then 250 echo "IGCM_sys_Mkdir : erreur." 251 IGCM_debug_Exit "IGCM_sys_Mkdir" 252 fi 253 fi 254 # vérification : 255 if [ ! -d ${1} ] ; then 256 echo "IGCM_sys_Mkdir : erreur." 257 IGCM_debug_Exit "IGCM_sys_Mkdir" 258 fi 259 IGCM_debug_PopStack "IGCM_sys_Mkdir" 260 260 } 261 261 … … 266 266 #D- 267 267 function IGCM_sys_MkdirArchive { 268 269 270 271 272 273 274 275 276 277 278 279 280 268 IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 269 if ( $DEBUG_sys ) ; then 270 echo "IGCM_sys_MkdirArchive :" $@ 271 fi 272 #- creation de repertoire sur le serveur fichier 273 if [ ! -d ${1} ]; then 274 \mkdir -p $1 275 if [ $? -gt 0 ] ; then 276 echo "IGCM_sys_MkdirArchive : erreur." 277 IGCM_debug_Exit "IGCM_sys_MkdirArchive" 278 fi 279 fi 280 IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 281 281 } 282 282 … … 287 287 #D- 288 288 function IGCM_sys_MkdirWork { 289 290 291 292 293 294 295 296 297 298 299 300 301 289 IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 290 if ( $DEBUG_sys ) ; then 291 echo "IGCM_sys_MkdirWork :" $@ 292 fi 293 #- creation de repertoire sur le serveur fichier 294 if [ ! -d ${1} ]; then 295 \mkdir -p $1 296 if [ $? -gt 0 ] ; then 297 echo "IGCM_sys_MkdirWork : erreur." 298 IGCM_debug_Exit "IGCM_sys_MkdirWork" 299 fi 300 fi 301 IGCM_debug_PopStack "IGCM_sys_MkdirWork" 302 302 } 303 303 … … 308 308 #D- 309 309 function IGCM_sys_Cd { 310 311 312 313 314 315 316 317 318 319 310 IGCM_debug_PushStack "IGCM_sys_Cd" $@ 311 if ( $DEBUG_sys ) ; then 312 echo "IGCM_sys_Cd :" $@ 313 fi 314 \cd $1 315 if [ $? -gt 0 ] ; then 316 echo "IGCM_sys_Cd : erreur." 317 IGCM_debug_Exit "IGCM_sys_Cd" 318 fi 319 IGCM_debug_PopStack "IGCM_sys_Cd" 320 320 } 321 321 … … 326 326 #D- 327 327 function IGCM_sys_Chmod { 328 329 330 331 332 333 334 335 336 337 338 339 340 341 328 IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 329 if ( $DEBUG_sys ) ; then 330 echo "IGCM_sys_Chmod :" $@ 331 fi 332 if [ $DRYRUN -le 1 ]; then 333 \chmod $@ 334 if [ $? -gt 0 ] ; then 335 echo "IGCM_sys_Chmod : erreur." 336 IGCM_debug_Exit "IGCM_sys_Chmod" 337 fi 338 else 339 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 340 fi 341 IGCM_debug_PopStack "IGCM_sys_Chmod" 342 342 } 343 343 … … 348 348 #D- 349 349 function IGCM_sys_FileSize { 350 351 352 353 354 355 356 357 358 359 350 IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 351 352 typeset sizeF 353 set +A sizeF -- $( ls -la ${1} ) 354 if [ $? -gt 0 ] ; then 355 IGCM_debug_Exit "IGCM_sys_FileSize" 356 fi 357 eval ${2}=${sizeF[4]} 358 359 IGCM_debug_PopStack "IGCM_sys_FileSize" 360 360 } 361 361 … … 366 366 #D- 367 367 function IGCM_sys_TestDir { 368 369 370 371 372 373 374 375 376 368 IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 369 if ( $DEBUG_sys ) ; then 370 echo "IGCM_sys_TestDir :" $@ 371 fi 372 typeset ExistFlag 373 ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 374 IGCM_debug_PopStack "IGCM_sys_TestDir" 375 376 return ${ExistFlag} 377 377 } 378 378 … … 383 383 #D- 384 384 function IGCM_sys_TestDirArchive { 385 IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 386 if ( $DEBUG_sys ) ; then 387 echo "IGCM_sys_TestDirArchive :" $@ 388 fi 389 typeset ExistFlag 390 ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 391 IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 392 393 return ${ExistFlag} 385 IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 386 if ( $DEBUG_sys ) ; then 387 echo "IGCM_sys_TestDirArchive :" $@ 388 fi 389 typeset ExistFlag 390 ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 391 IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 392 393 return ${ExistFlag} 394 } 395 396 #D-#================================================== 397 #D-function IGCM_sys_IsFileArchived 398 #D-* Purpose: Test file that must NOT EXISTS on Archive 399 #D-* Examples: 400 #D- 401 function IGCM_sys_IsFileArchived { 402 IGCM_debug_PushStack "IGCM_sys_IsFileArchived" $@ 403 if ( $DEBUG_sys ) ; then 404 echo "IGCM_sys_IsFileArchived :" $@ 405 fi 406 typeset IsArchivedFlag 407 IsArchivedFlag=$( [ X$( echo $1 | grep ^\/dmnfs ) != X ] && echo 0 || echo 1 ) 408 IGCM_debug_PopStack "IGCM_sys_IsFileArchived" 409 410 return ${IsArchivedFlag} 394 411 } 395 412 … … 400 417 #D- 401 418 function IGCM_sys_TestFileArchive { 402 IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 403 if ( $DEBUG_sys ) ; then 404 echo "IGCM_sys_TestFileArchive :" $@ 405 fi 406 typeset ExistFlag 407 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 408 IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 409 410 return ${ExistFlag} 419 IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 420 if ( $DEBUG_sys ) ; then 421 echo "IGCM_sys_TestFileArchive :" $@ 422 fi 423 typeset ExistFlag 424 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 425 IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 426 427 return ${ExistFlag} 428 } 429 430 #D-#================================================== 431 #D-function IGCM_sys_TestFileBuffer 432 #D-* Purpose: Test file that must NOT EXISTS on Buffer 433 #D-* Examples: 434 #D- 435 function IGCM_sys_TestFileBuffer { 436 IGCM_debug_PushStack "IGCM_sys_TestFileBuffer" $@ 437 typeset ExistFlag 438 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 439 IGCM_debug_PopStack "IGCM_sys_TestFileBuffer" 440 441 return ${ExistFlag} 411 442 } 412 443 … … 417 448 #D- 418 449 function IGCM_sys_CountFileArchive { 419 IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 420 ls ${@} 2>/dev/null | wc -l 421 if [ $? -gt 0 ] ; then 422 echo "IGCM_sys_CountFileArchive : erreur." 423 fi 424 IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 450 IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 451 ls ${@} 2>/dev/null | wc -l 452 if [ $? -gt 0 ] ; then 453 echo "IGCM_sys_CountFileArchive : erreur." 454 fi 455 IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 456 } 457 458 #D-#================================================== 459 #D-function IGCM_sys_CountFileBuffer 460 #D-* Purpose: Count files on Scratch filesystem 461 #D-* Examples: 462 #D- 463 function IGCM_sys_CountFileBuffer { 464 IGCM_debug_PushStack "IGCM_sys_CountFileBuffer" $@ 465 ls ${@} 2>/dev/null | wc -l 466 if [ $? -gt 0 ] ; then 467 echo "IGCM_sys_CountFileBuffer : erreur." 468 fi 469 IGCM_debug_PopStack "IGCM_sys_CountFileBuffer" 425 470 } 426 471 … … 431 476 #D- 432 477 function IGCM_sys_Tree { 433 434 435 436 437 438 439 440 478 IGCM_debug_PushStack "IGCM_sys_Tree" $@ 479 if ( $DEBUG_sys ) ; then 480 echo "IGCM_sys_Tree :" $@ 481 fi 482 483 \tree -f $@ 484 485 IGCM_debug_PopStack "IGCM_sys_Tree" 441 486 } 442 487 443 488 #D-#================================================== 444 489 #D-function IGCM_sys_Tar 445 #D-* Purpose: master un-tar command490 #D-* Purpose: master tar command 446 491 #D-* Examples: 447 492 #D- 448 493 function IGCM_sys_Tar { 449 IGCM_debug_PushStack "IGCM_sys_Tar" $@ 450 if ( $DEBUG_sys ) ; then 451 echo "IGCM_sys_Tar :" $@ 452 fi 453 \tar cvf $@ 454 if [ $? -gt 0 ] ; then 455 echo "IGCM_sys_Tar : erreur." 456 IGCM_debug_Exit "IGCM_sys_Tar" 457 fi 458 \tar tvf $1 459 460 IGCM_debug_PopStack "IGCM_sys_Tar" 494 IGCM_debug_PushStack "IGCM_sys_Tar" $@ 495 if ( $DEBUG_sys ) ; then 496 echo "IGCM_sys_Tar :" $@ 497 fi 498 \tar cf $@ 499 if [ $? -gt 0 ] ; then 500 echo "IGCM_sys_Tar : erreur." 501 IGCM_debug_Exit "IGCM_sys_Tar" 502 fi 503 IGCM_debug_PopStack "IGCM_sys_Tar" 461 504 } 462 505 … … 467 510 #D- 468 511 function IGCM_sys_UnTar { 469 470 471 472 473 474 475 476 477 478 512 IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 513 if ( $DEBUG_sys ) ; then 514 echo "IGCM_sys_UnTar :" $@ 515 fi 516 \tar xvf $1 517 if [ $? -gt 0 ] ; then 518 echo "IGCM_sys_UnTar : erreur." 519 IGCM_debug_Exit "IGCM_sys_UnTar" 520 fi 521 IGCM_debug_PopStack "IGCM_sys_UnTar" 479 522 } 480 523 … … 485 528 #D- 486 529 function IGCM_sys_QsubPost { 487 488 489 490 491 492 493 494 495 496 530 IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 531 if ( $DEBUG_sys ) ; then 532 echo "IGCM_sys_QsubPost :" $@ 533 fi 534 /usr/bin/nqsII/qsub -o ${POST_DIR}/${Script_Post_Output}.out ${libIGCM}/$1.job -v ${listVarEnv} 535 if [ $? -gt 0 ] ; then 536 echo "IGCM_sys_QsubPost : erreur " $@ 537 IGCM_debug_Exit "IGCM_sys_QsubPost" 538 fi 539 IGCM_debug_PopStack "IGCM_sys_QsubPost" 497 540 } 498 541 … … 508 551 #D- Error values and explanations can depend on your system version. 509 552 function IGCM_sys_Rsync_out { 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 } 613 553 RET=$1 554 if [ ! $RET ] ; then 555 echo "rsync error !" 556 fi 557 558 if [ $MYLANG = "fr" ]; then 559 case $RET in 560 0) return ;; 561 1) echo "Erreur de rsync ; RERR_SYNTAX : " 562 echo "Erreur de syntaxe ou d'utilisation." 563 return;; 564 2) echo "Erreur de rsync ; RERR_PROTOCOL : " 565 echo "Incompatibilité de protocole." 566 return;; 567 3) echo "Erreur de rsync ; RERR_FILESELECT 3" 568 echo "Erreurs lors de la sélection des fichiers d'entrée sortie et" 569 echo "répertoires" 570 return;; 571 4) echo "Erreur de rsync ; RERR_UNSUPPORTED" 572 echo "Action demandée non supportée : une tentative de manipulation de" 573 echo "fichiers 64-bits sur une plate-forme qui ne les supporte pas a" 574 echo "été faite ; ou une option qui est supportée par le client mais" 575 echo "pas par le serveur a été spécifiée." 576 return;; 577 10) echo "Erreur de rsync ; RERR_SOCKETIO" 578 echo "Erreur dans le socket d'entrée sortie" 579 return;; 580 11) echo "Erreur de rsync ; RERR_FILEIO" 581 echo "Erreur d'entrée sortie fichier" 582 return;; 583 12) echo "Erreur de rsync ; RERR_STREAMIO" 584 echo "Erreur dans flux de donnée du protocole rsync" 585 return;; 586 13) echo "Erreur de rsync ; RERR_MESSAGEIO" 587 echo "Erreur avec les diagnostics du programme" 588 return;; 589 14) echo "Erreur de rsync ; RERR_IPC" 590 echo "Erreur dans le code IPC" 591 return;; 592 20) echo "Erreur de rsync ; RERR_SIGNAL" 593 echo "SIGUSR1 ou SIGINT reçu" 594 return;; 595 21) echo "Erreur de rsync ; RERR_WAITCHILD" 596 echo "Une erreur retournée par waitpid()" 597 return;; 598 22) echo "Erreur de rsync ; RERR_MALLOC" 599 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 600 return;; 601 23) echo "" 602 echo "Erreur fichier inexistant" 603 return;; 604 30) echo "Erreur de rsync ; RERR_TIMEOUT" 605 echo "Temps d'attente écoulé dans l'envoi/réception de données" 606 return;; 607 *) echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 608 return;; 609 esac 610 elif [ $MYLANG = "en" ] ; then 611 case $RET in 612 0) return;; 613 1) echo "rsync error : Syntax or usage error " 614 return;; 615 2) echo "rsync error : Protocol incompatibility " 616 return;; 617 3) echo "rsync error : Errors selecting input/output files, dirs" 618 return;; 619 4) echo "rsync error : Requested action not supported: an attempt" 620 echo "was made to manipulate 64-bit files on a platform that cannot support" 621 echo "them; or an option was specified that is supported by the client and" 622 echo "not by the server." 623 return;; 624 5) echo "rsync error : Error starting client-server protocol" 625 return;; 626 10) echo "rsync error : Error in socket I/O " 627 return;; 628 11) echo "rsync error : Error in file I/O " 629 return;; 630 12) echo "rsync error : Error in rsync protocol data stream " 631 return;; 632 13) echo "rsync error : Errors with program diagnostics " 633 return;; 634 14) echo "rsync error : Error in IPC code " 635 return;; 636 20) echo "rsync error : Received SIGUSR1 or SIGINT " 637 return;; 638 21) echo "rsync error : Some error returned by waitpid() " 639 return;; 640 22) echo "rsync error : Error allocating core memory buffers " 641 return;; 642 23) echo "rsync error : Partial transfer due to error" 643 return;; 644 24) echo "rsync error : Partial transfer due to vanished source files" 645 return;; 646 30) echo "rsync error : Timeout in data send/receive " 647 return;; 648 *) echo "rsync error : return code of rsync unknown :" $RET 649 return;; 650 esac 651 else 652 echo "unknown language $MYLANG." 653 return 654 fi 655 } 656 614 657 #D-#================================================== 615 658 #D-function IGCM_sys_Cp … … 618 661 #D- 619 662 function IGCM_sys_Cp { 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 663 IGCM_debug_PushStack "IGCM_sys_Cp" $@ 664 if ( $DEBUG_sys ) ; then 665 echo "IGCM_sys_Cp :" $@ 666 fi 667 668 typeset RET 669 670 echo cp $@ > out_rsync 2>&1 671 \cp $@ >> out_rsync 2>&1 672 RET=$? 673 674 if [ ${RET} -gt 0 ] ; then 675 echo "IGCM_sys_Cp : error." 676 cat out_rsync 677 IGCM_debug_Exit "IGCM_sys_Cp" 678 else 679 \rm out_rsync 680 fi 681 IGCM_debug_PopStack "IGCM_sys_Cp" 639 682 } 640 683 … … 645 688 #D- 646 689 function IGCM_sys_Rm { 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 690 IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 691 if ( $DEBUG_sys ) ; then 692 echo "IGCM_sys_Rm :" $@ 693 fi 694 695 typeset RET 696 697 echo rm $@ > out_rsync 2>&1 698 \rm $@ >> out_rsync 2>&1 699 RET=$? 700 701 if [ ${RET} -gt 0 ] ; then 702 echo "IGCM_sys_Rm : error." 703 cat out_rsync 704 IGCM_debug_Exit "IGCM_sys_Rm" 705 else 706 \rm out_rsync 707 fi 708 IGCM_debug_PopStack "IGCM_sys_Rm" 666 709 } 667 710 … … 673 716 #D- 674 717 function IGCM_sys_RmRunDir { 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 718 IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 719 if ( $DEBUG_sys ) ; then 720 echo "IGCM_sys_RmRunDir :" $@ 721 fi 722 723 typeset RET 724 725 echo rm $@ > out_rsync 2>&1 726 \rm $@ >> out_rsync 2>&1 727 RET=$? 728 729 if [ ${RET} -gt 0 ] ; then 730 echo "IGCM_sys_RmRunDir : error." 731 cat out_rsync 732 IGCM_debug_Exit "IGCM_sys_RmRunDir" 733 else 734 \rm out_rsync 735 fi 736 IGCM_debug_PopStack "IGCM_sys_RmRunDir" 694 737 } 695 738 … … 700 743 #D- 701 744 function IGCM_sys_Mv { 702 IGCM_debug_PushStack "IGCM_sys_Mv" $@ 703 if ( $DEBUG_sys ) ; then 704 echo "IGCM_sys_Mv :" $@ 705 fi 706 707 if [ $DRYRUN = 0 ]; then 708 709 typeset RET 710 711 echo mv $@ > out_rsync 2>&1 712 \mv $@ >> out_rsync 2>&1 713 RET=$? 745 IGCM_debug_PushStack "IGCM_sys_Mv" $@ 746 if ( $DEBUG_sys ) ; then 747 echo "IGCM_sys_Mv :" $@ 748 fi 749 750 if [ $DRYRUN = 0 ]; then 751 752 typeset RET 714 753 715 if [ ${RET} -gt 0 ] ; then 716 echo "IGCM_sys_Mv : error in mv." 717 cat out_rsync 718 IGCM_debug_Exit "IGCM_sys_Mv" 719 else 720 \rm out_rsync 721 fi 754 echo mv $@ > out_rsync 2>&1 755 \mv $@ >> out_rsync 2>&1 756 RET=$? 757 758 if [ ${RET} -gt 0 ] ; then 759 echo "IGCM_sys_Mv : error in mv." 760 cat out_rsync 761 IGCM_debug_Exit "IGCM_sys_Mv" 722 762 else 723 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 724 fi 725 726 IGCM_debug_PopStack "IGCM_sys_Mv" 763 \rm out_rsync 764 fi 765 else 766 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 767 fi 768 769 IGCM_debug_PopStack "IGCM_sys_Mv" 727 770 } 728 771 … … 733 776 #D- 734 777 function IGCM_sys_Put_Dir { 735 IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 736 if ( $DEBUG_sys ) ; then 737 echo "IGCM_sys_Put_Dir :" $@ 738 fi 739 if [ $DRYRUN = 0 ]; then 740 if [ ! -d ${1} ] ; then 741 echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 742 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 743 return 744 fi 745 746 typeset RET 747 748 # Only if we use rsync 749 #IGCM_sys_TestDirArchive $( dirname $2 ) 750 # 751 #USUAL WAY 752 \cp -r $1 $2 > out_rsync 2>&1 753 RET=$? 754 755 if [ ${RET} -gt 0 ] ; then 756 echo "IGCM_sys_Put_Dir : error." 757 cat out_rsync 758 IGCM_debug_Exit "IGCM_sys_Put_Dir" 759 else 760 \rm out_rsync 761 fi 778 IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 779 if ( $DEBUG_sys ) ; then 780 echo "IGCM_sys_Put_Dir :" $@ 781 fi 782 if [ $DRYRUN = 0 ]; then 783 if [ ! -d ${1} ] ; then 784 echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 785 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 786 return 787 fi 788 789 typeset RET 790 791 # Only if we use rsync 792 #IGCM_sys_TestDirArchive $( dirname $2 ) 793 # 794 #USUAL WAY 795 \cp -r $1 $2 > out_rsync 2>&1 796 RET=$? 797 798 if [ ${RET} -gt 0 ] ; then 799 echo "IGCM_sys_Put_Dir : error." 800 cat out_rsync 801 IGCM_debug_Exit "IGCM_sys_Put_Dir" 762 802 else 763 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 764 fi 765 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 803 \rm out_rsync 804 fi 805 else 806 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 807 fi 808 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 766 809 } 767 810 … … 772 815 #D- 773 816 function IGCM_sys_Get_Dir { 774 775 776 777 778 817 IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 818 if ( $DEBUG_sys ) ; then 819 echo "IGCM_sys_Get_Dir :" $@ 820 fi 821 if [ $DRYRUN = 0 ]; then 779 822 # if [ ! -d ${1} ] ; then 780 823 # echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." … … 783 826 # fi 784 827 785 typeset RET 786 787 # Only if we use rsync 788 #IGCM_sys_TestDirArchive $( dirname $2 ) 789 # 790 #USUAL WAY 791 # add dmget (to demigrate all offline files) to reduce time of this command : 792 dmget $1/* 793 \cp -r $1 $2 > out_rsync 2>&1 794 RET=$? 795 796 if [ ${RET} -gt 0 ] ; then 797 echo "IGCM_sys_Get_Dir : error." 798 cat out_rsync 799 IGCM_debug_Exit "IGCM_sys_Get_Dir" 800 else 801 \rm out_rsync 802 fi 828 typeset RET 829 830 # Only if we use rsync 831 #IGCM_sys_TestDirArchive $( dirname $2 ) 832 # 833 #USUAL WAY 834 # add dmget (to demigrate all offline files) to reduce time of this command : 835 dmget $1/* 836 \cp -r $1 $2 > out_rsync 2>&1 837 RET=$? 838 839 if [ ${RET} -gt 0 ] ; then 840 echo "IGCM_sys_Get_Dir : error." 841 cat out_rsync 842 IGCM_debug_Exit "IGCM_sys_Get_Dir" 803 843 else 804 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 805 fi 806 IGCM_debug_PopStack "IGCM_sys_Get_Dir" 844 \rm out_rsync 845 fi 846 else 847 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 848 fi 849 IGCM_debug_PopStack "IGCM_sys_Get_Dir" 807 850 } 808 851 … … 813 856 #D- 814 857 function IGCM_sys_Get_Master { 815 IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 816 if ( $DEBUG_sys ) ; then 817 echo "IGCM_sys_Get_Master :" $@ 818 fi 819 if [ $DRYRUN = 0 ]; then 820 if [ ! -d ${1} ] ; then 821 echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 822 IGCM_debug_PopStack "IGCM_sys_Get_Master" 823 return 824 fi 825 826 typeset RET 827 828 #USUAL WAY 829 \cp -r $1 $2 > out_rsync 2>&1 830 RET=$? 831 832 if [ ${RET} -gt 0 ] ; then 833 echo "IGCM_sys_Get_Master : error." 834 cat out_rsync 835 IGCM_debug_Exit "IGCM_sys_Get_Master" 836 else 837 \rm out_rsync 838 fi 858 IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 859 if ( $DEBUG_sys ) ; then 860 echo "IGCM_sys_Get_Master :" $@ 861 fi 862 if [ $DRYRUN = 0 ]; then 863 if [ ! -d ${1} ] ; then 864 echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 865 IGCM_debug_PopStack "IGCM_sys_Get_Master" 866 return 867 fi 868 869 typeset RET 870 871 #USUAL WAY 872 \cp -r $1 $2 > out_rsync 2>&1 873 RET=$? 874 875 if [ ${RET} -gt 0 ] ; then 876 echo "IGCM_sys_Get_Master : error." 877 cat out_rsync 878 IGCM_debug_Exit "IGCM_sys_Get_Master" 839 879 else 840 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 841 fi 842 IGCM_debug_PopStack "IGCM_sys_Get_Master" 880 \rm out_rsync 881 fi 882 else 883 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 884 fi 885 IGCM_debug_PopStack "IGCM_sys_Get_Master" 843 886 } 844 887 845 888 #D-#================================================== 846 889 #D-function IGCM_sys_Put_Rest 847 #D-* Purpose: Put computied restarts on $ (ARCHIVE).890 #D-* Purpose: Put computied restarts on ${ARCHIVE}. 848 891 #D- File and target directory must exist. 849 892 #D-* Examples: 850 893 #D- 851 894 function IGCM_sys_Put_Rest { 852 IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 853 if ( $DEBUG_sys ) ; then 854 echo "IGCM_sys_Put_Rest :" $@ 855 fi 856 if [ $DRYRUN = 0 ]; then 857 if [ ! -f ${1} ] ; then 858 echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 859 IGCM_debug_Exit "IGCM_sys_Put_Rest" 860 fi 861 862 typeset RET 863 # 864 if [ X${JobType} = XRUN ] ; then 865 IGCM_sys_Chmod 444 ${1} 866 fi 867 # 868 IGCM_sys_TestDirArchive $( dirname $2 ) 869 # 870 # USUAL WAY 871 putfer $1 $2 > out_rsync 2>&1 872 RET=$? 895 IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 896 if ( $DEBUG_sys ) ; then 897 echo "IGCM_sys_Put_Rest :" $@ 898 fi 899 if [ $DRYRUN = 0 ]; then 900 if [ ! -f ${1} ] ; then 901 echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 902 IGCM_debug_Exit "IGCM_sys_Put_Rest" 903 fi 904 905 typeset RET 906 # 907 if [ X${JobType} = XRUN ] ; then 908 IGCM_sys_Chmod 444 ${1} 909 fi 910 911 # 912 # USUAL WAY 913 \cp $1 $2 > out_rsync 2>&1 914 RET=$? 873 915 874 916 # #RSYNC WITH NETWORK SSH CALL 875 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${ RHOST}:${2} > out_rsync 2>&1876 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${ RHOST}:${2} >> out_rsync 2>&1917 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 918 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 877 919 878 920 # #RSYNC WITH NFS USE … … 886 928 # (( RET=RET+$? )) 887 929 888 if [ ${RET} -gt 0 ] ; then 889 echo "IGCM_sys_Put_Rest : error." 890 cat out_rsync 891 IGCM_debug_Exit "IGCM_sys_Put_Rest" 892 else 893 \rm out_rsync 894 fi 930 if [ ${RET} -gt 0 ] ; then 931 echo "IGCM_sys_Put_Rest : error." 932 cat out_rsync 933 IGCM_debug_Exit "IGCM_sys_Put_Rest" 895 934 else 896 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 897 fi 898 IGCM_debug_PopStack "IGCM_sys_Put_Rest" 935 \rm out_rsync 936 fi 937 else 938 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 939 fi 940 IGCM_debug_PopStack "IGCM_sys_Put_Rest" 941 } 942 943 #D-#================================================== 944 #D-function IGCM_sys_PutBuffer_Rest 945 #D-* Purpose: Put computied restarts on ${SCRATCHDIR}. 946 #D- File and target directory must exist. 947 #D-* Examples: 948 #D- 949 function IGCM_sys_PutBuffer_Rest { 950 IGCM_debug_PushStack "IGCM_sys_PutBuffer_Rest" $@ 951 if ( $DEBUG_sys ) ; then 952 echo "IGCM_sys_PutBuffer_Rest :" $@ 953 fi 954 if [ $DRYRUN = 0 ]; then 955 if [ ! -f ${1} ] ; then 956 echo "ERROR : IGCM_sys_PutBuffer_Rest ${1} DOES NOT EXIST ." 957 IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 958 fi 959 960 typeset RET 961 # 962 if [ X${JobType} = XRUN ] ; then 963 IGCM_sys_Chmod 444 ${1} 964 fi 965 966 # 967 # USUAL WAY 968 \cp $1 $2 > out_rsync 2>&1 969 RET=$? 970 971 if [ ${RET} -gt 0 ] ; then 972 echo "IGCM_sys_PutBuffer_Rest : error." 973 cat out_rsync 974 IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 975 else 976 \rm out_rsync 977 fi 978 else 979 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 980 fi 981 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Rest" 899 982 } 900 983 901 984 #D-#================================================== 902 985 #D-function IGCM_sys_Put_Out 903 #D-* Purpose: Copy a file on $ (ARCHIVE) after havechmod it in readonly986 #D-* Purpose: Copy a file on ${ARCHIVE} after having chmod it in readonly 904 987 #D-* Examples: 905 988 #D- 906 989 function IGCM_sys_Put_Out { 907 IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 908 if ( $DEBUG_sys ) ; then 909 echo "IGCM_sys_Put_Out :" $@ 910 fi 911 if [ $DRYRUN = 0 ]; then 912 if [ ! -f ${1} ] ; then 913 echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 914 IGCM_debug_PopStack "IGCM_sys_Put_Out" 915 return 1 916 fi 917 # 918 IGCM_sys_MkdirArchive $( dirname $2 ) 919 # 920 typeset RET exist skip 921 922 #===================================================== 923 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 924 #===================================================== 925 926 #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 927 #if [ $? -eq 0 ] ; then 928 # typeset WORKPATH FILEPATH 929 # WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_OUT_SCR}|" ) 930 # IGCM_sys_MkdirWork ${WORKPATH} 931 # FILEPATH=${WORKPATH}/$( basename $2 ) 932 # # 933 # IGCM_sys_Cp ${1} ${FILEPATH} 934 #fi 935 936 if [ X${JobType} = XRUN ] ; then 937 if [ X${3} = X ] ; then 938 IGCM_sys_Chmod 444 ${1} 939 fi 940 fi 941 942 exist=false 990 IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 991 if ( $DEBUG_sys ) ; then 992 echo "IGCM_sys_Put_Out :" $@ 993 fi 994 if [ $DRYRUN = 0 ]; then 995 if [ ! -f ${1} ] ; then 996 echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 997 IGCM_debug_PopStack "IGCM_sys_Put_Out" 998 return 1 999 fi 1000 # 1001 IGCM_sys_MkdirArchive $( dirname $2 ) 1002 # 1003 typeset RET exist skip 1004 1005 #===================================================== 1006 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 1007 #===================================================== 1008 1009 #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 1010 #if [ $? -eq 0 ] ; then 1011 # typeset WORKPATH FILEPATH 1012 # WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_BUF}|" ) 1013 # IGCM_sys_MkdirWork ${WORKPATH} 1014 # FILEPATH=${WORKPATH}/$( basename $2 ) 1015 # # 1016 # IGCM_sys_Cp ${1} ${FILEPATH} 1017 #fi 1018 1019 if [ X${JobType} = XRUN ] ; then 1020 if [ X${3} = X ] ; then 1021 IGCM_sys_Chmod 444 ${1} 1022 fi 1023 fi 1024 1025 exist=false 1026 skip=false 1027 if [ -f $2 ] ; then 1028 IGCM_debug_Print 1 "$2 already exist" 1029 dmget $2 1030 exist=true 1031 if [ "X$( diff $1 $2 )" = X ] ; then 1032 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 1033 skip=true 1034 else 1035 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 943 1036 skip=false 944 if [ -f $2 ] ; then 945 IGCM_debug_Print 1 "$2 already exist" 946 dmget $2 947 exist=true 948 if [ "X$( diff $1 $2 )" = X ] ; then 949 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 950 skip=true 951 else 952 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 953 skip=false 954 fi 955 fi 956 # 957 if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 958 IGCM_sys_Chmod u+w $2 959 fi 960 # USUAL WAY 961 if [ X${skip} = Xfalse ] ; then 962 \cp $1 $2 > out_rsync 2>&1 963 RET=$? 964 if [ ${RET} -gt 0 ] ; then 965 echo "IGCM_sys_Put_Out : error." 966 cat out_rsync 967 IGCM_debug_Exit "IGCM_sys_Put_Out" 968 else 969 \rm out_rsync 970 fi 971 fi 972 973 # #RSYNC WITH NETWORK RSH CALL 974 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} > out_rsync 2>&1 975 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} >> out_rsync 2>&1 1037 fi 1038 fi 1039 # 1040 if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 1041 IGCM_sys_Chmod u+w $2 1042 fi 1043 # USUAL WAY 1044 if [ X${skip} = Xfalse ] ; then 1045 \cp $1 $2 > out_rsync 2>&1 1046 RET=$? 1047 if [ ${RET} -gt 0 ] ; then 1048 echo "IGCM_sys_Put_Out : error." 1049 cat out_rsync 1050 IGCM_debug_Exit "IGCM_sys_Put_Out" 1051 else 1052 \rm out_rsync 1053 fi 1054 fi 1055 1056 # #RSYNC WITH NETWORK SSH CALL 1057 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 1058 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 976 1059 977 1060 # #RSYNC WITH NFS USE … … 985 1068 # (( RET=RET+$? )) 986 1069 1070 else 1071 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1072 fi 1073 IGCM_debug_PopStack "IGCM_sys_Put_Out" 1074 return 0 1075 } 1076 1077 #D-#================================================== 1078 #D-function IGCM_sys_PutBuffer_Out 1079 #D-* Purpose: Copy a file on ${SCRATCHDIR} after having chmod it in readonly 1080 #D-* Examples: 1081 #D- 1082 function IGCM_sys_PutBuffer_Out { 1083 IGCM_debug_PushStack "IGCM_sys_PutBuffer_Out" $@ 1084 if ( $DEBUG_sys ) ; then 1085 echo "IGCM_sys_PutBuffer_Out :" $@ 1086 fi 1087 if [ $DRYRUN = 0 ]; then 1088 if [ ! -f ${1} ] ; then 1089 echo "WARNING : IGCM_sys_PutBuffer_Out ${1} DOES NOT EXIST ." 1090 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 1091 return 1 1092 fi 1093 # 1094 IGCM_sys_Mkdir $( dirname $2 ) 1095 # 1096 typeset RET 1097 1098 if [ X${JobType} = XRUN ] ; then 1099 if [ X${3} = X ] ; then 1100 IGCM_sys_Chmod 444 ${1} 1101 fi 1102 fi 1103 # 1104 # USUAL WAY 1105 \cp $1 $2 > out_rsync 2>&1 1106 RET=$? 1107 1108 if [ ${RET} -gt 0 ] ; then 1109 echo "IGCM_sys_PutBuffer_Out : error." 1110 cat out_rsync 1111 IGCM_debug_Exit "IGCM_sys_PutBuffer_Out" 987 1112 else 988 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 989 fi 990 IGCM_debug_PopStack "IGCM_sys_Put_Out" 991 return 0 1113 \rm out_rsync 1114 fi 1115 else 1116 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1117 fi 1118 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 1119 return 0 992 1120 } 993 1121 … … 998 1126 #D- IGCM_sys_Get /l Array_contain_myfiles /destpath/ 999 1127 function IGCM_sys_Get { 1000 IGCM_debug_PushStack "IGCM_sys_Get" $@ 1001 1002 typeset DEST RET dm_liste ifile target file_work 1003 1004 if ( $DEBUG_sys ) ; then 1005 echo "IGCM_sys_Get :" $@ 1006 fi 1007 if [ $DRYRUN -le 2 ]; then 1008 if [ X${1} = X'/l' ] ; then 1009 # test if the first file is present in the old computation : 1010 eval set +A dm_liste \${${2}} 1011 else 1012 eval set +A dm_liste ${1} 1013 fi 1014 eval DEST=\${${#}} 1015 1016 #===================================================== 1017 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 1018 #===================================================== 1019 1020 # Is it an R_OUT file (not R_IN) ? 1021 #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 1022 #if [ $? -eq 0 ] ; then 1023 # # Yes ? then we try to get it in SCRATCHDIR 1024 # set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_OUT_SCR}|g" ) 1025 # if [ -f ${file_work[0]} ] ; then 1026 # IGCM_sys_Cp ${file_work[*]} ${DEST} 1027 # IGCM_debug_PopStack "IGCM_sys_Get" 1028 # return 1029 # fi 1030 #fi 1031 1032 # test if the (first) file is present in the old computation : 1033 IGCM_sys_TestFileArchive ${dm_liste[0]} 1034 RET=$? 1035 if [ ${RET} -gt 0 ] ; then 1036 echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 1037 IGCM_debug_Exit "IGCM_sys_Get" 1038 fi 1039 1040 dmget ${dm_liste[*]} > out_rsync 2>&1 1041 RET=$? 1042 1043 if [ ${RET} -gt 0 ] ; then 1044 echo "WARNING IGCM_sys_Get : demigration error." 1045 cat out_rsync 1046 echo "WARNING IGCM_sys_Get : will later stop if the cp fails." 1047 fi 1048 1049 #if [ ${RET} -gt 0 ] ; then 1050 # if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 1051 # cat out_rsync 1052 # echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 1053 # sleep 30 1054 # echo "We try another time" 1055 # dmget ${dm_liste[*]} > out_rsync 2>&1 1056 # RET=$? 1057 # if [ ${RET} -gt 0 ] ; then 1058 # echo "ERROR IGCM_sys_Get : again demigration error :" 1059 # cat out_rsync 1060 # IGCM_debug_Exit "IGCM_sys_Get" 1061 # fi 1062 # else 1063 # echo "ERROR IGCM_sys_Get : demigration error :" 1064 # cat out_rsync 1065 # IGCM_debug_Exit "IGCM_sys_Get" 1066 # fi 1067 #fi 1068 1069 #USUAL WAY 1070 (( RET=0 )) 1071 if [ X${1} = X'/l' ] ; then 1072 (( RET=0 )) 1073 for target in ${dm_liste[*]} ; do 1074 local_file=$( basename ${target} ) 1075 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1076 (( RET = RET + $? )) 1077 done 1078 else 1079 \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 1080 RET=$? 1081 fi 1082 1083 # #RSYNC WITH NETWORK RSH CALL 1084 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 1085 # ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 1128 IGCM_debug_PushStack "IGCM_sys_Get" $@ 1129 1130 typeset DEST RET dm_liste ifile target file_work 1131 1132 if ( $DEBUG_sys ) ; then 1133 echo "IGCM_sys_Get :" $@ 1134 fi 1135 if [ $DRYRUN -le 2 ]; then 1136 if [ X${1} = X'/l' ] ; then 1137 # test if the first file is present in the old computation : 1138 eval set +A dm_liste \${${2}} 1139 else 1140 eval set +A dm_liste ${1} 1141 fi 1142 eval DEST=\${${#}} 1143 1144 #===================================================== 1145 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 1146 #===================================================== 1147 1148 # Is it an R_OUT file (not R_IN) ? 1149 #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 1150 #if [ $? -eq 0 ] ; then 1151 # # Yes ? then we try to get it in SCRATCHDIR 1152 # set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" ) 1153 # if [ -f ${file_work[0]} ] ; then 1154 # IGCM_sys_Cp ${file_work[*]} ${DEST} 1155 # IGCM_debug_PopStack "IGCM_sys_Get" 1156 # return 1157 # fi 1158 #fi 1159 1160 # test if the (first) file is present in the old computation : 1161 IGCM_sys_TestFileArchive ${dm_liste[0]} 1162 RET=$? 1163 if [ ${RET} -gt 0 ] ; then 1164 echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 1165 IGCM_debug_Exit "IGCM_sys_Get" 1166 fi 1167 1168 dmget ${dm_liste[*]} > out_rsync 2>&1 1169 RET=$? 1170 if [ ${RET} -gt 0 ] ; then 1171 echo "WARNING IGCM_sys_Get : demigration error." 1172 cat out_rsync 1173 echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 1174 fi 1175 1176 #if [ ${RET} -gt 0 ] ; then 1177 # if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 1178 # cat out_rsync 1179 # echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 1180 # sleep 30 1181 # echo "We try another time" 1182 # dmget ${dm_liste[*]} > out_rsync 2>&1 1183 # RET=$? 1184 # if [ ${RET} -gt 0 ] ; then 1185 # echo "ERROR IGCM_sys_Get : again demigration error :" 1186 # cat out_rsync 1187 # IGCM_debug_Exit "IGCM_sys_Get" 1188 # fi 1189 # else 1190 # echo "ERROR IGCM_sys_Get : demigration error :" 1191 # cat out_rsync 1192 # IGCM_debug_Exit "IGCM_sys_Get" 1193 # fi 1194 #fi 1195 1196 #USUAL WAY 1197 if [ X${1} = X'/l' ] ; then 1198 (( RET=0 )) 1199 for target in ${dm_liste[*]} ; do 1200 local_file=$( basename ${target} ) 1201 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1202 (( RET = RET + $? )) 1203 done 1204 else 1205 \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 1206 RET=$? 1207 fi 1208 1209 # #RSYNC WITH NETWORK SSH CALL 1210 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 1211 # ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 1086 1212 1087 1213 # #RSYNC WITH NFS USE … … 1095 1221 # (( RET=RET+$? )) 1096 1222 1097 if [ ${RET} -gt 0 ] ; then 1098 echo "IGCM_sys_Get : copy error." 1099 cat out_rsync 1100 # IGCM_debug_Exit "IGCM_sys_Get" 1101 else 1102 \rm out_rsync 1103 fi 1223 if [ ${RET} -gt 0 ] ; then 1224 echo "IGCM_sys_Get : copy error." 1225 cat out_rsync 1226 # IGCM_debug_Exit "IGCM_sys_Get" 1104 1227 else 1105 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1106 fi 1107 IGCM_debug_PopStack "IGCM_sys_Get" 1228 \rm out_rsync 1229 fi 1230 else 1231 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1232 fi 1233 IGCM_debug_PopStack "IGCM_sys_Get" 1234 } 1235 1236 #D-#================================================== 1237 #D-function IGCM_sys_GetBuffer 1238 #D-* Purpose: Get a file from ${SCRATCHDIR} 1239 #D-* Examples: IGCM_sys_GetBuffer myfile /destpath/myfile_with_PREFIX 1240 #D- IGCM_sys_GetBuffer /l Array_contain_myfiles /destpath/ 1241 function IGCM_sys_GetBuffer { 1242 IGCM_debug_PushStack "IGCM_sys_GetBuffer" $@ 1243 1244 typeset DEST RET buf_liste ifile target file_work 1245 1246 if ( $DEBUG_sys ) ; then 1247 echo "IGCM_sys_GetBuffer :" $@ 1248 fi 1249 if [ $DRYRUN -le 2 ]; then 1250 if [ X${1} = X'/l' ] ; then 1251 # test if the first file is present in the old computation : 1252 eval set +A buf_liste \${${2}} 1253 else 1254 eval set +A buf_liste ${1} 1255 fi 1256 eval DEST=\${${#}} 1257 1258 #USUAL WAY 1259 if [ X${1} = X'/l' ] ; then 1260 (( RET=0 )) 1261 for target in ${buf_liste[*]} ; do 1262 local_file=$( basename ${target} ) 1263 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1264 (( RET = RET + $? )) 1265 done 1266 else 1267 \cp ${buf_liste} ${DEST} >> out_rsync 2>&1 1268 RET=$? 1269 fi 1270 1271 if [ ${RET} -gt 0 ] ; then 1272 echo "IGCM_sys_GetBuffer : copy error." 1273 cat out_rsync 1274 IGCM_debug_Exit "IGCM_sys_GetBuffer" 1275 else 1276 \rm out_rsync 1277 fi 1278 else 1279 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1280 fi 1281 IGCM_debug_PopStack "IGCM_sys_GetBuffer" 1282 } 1283 1284 #D-#================================================== 1285 #D-function IGCM_sys_GetDate_FichWork 1286 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 1287 #D-* Examples: 1288 #D- 1289 function IGCM_sys_GetDate_FichWork { 1290 IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 1291 if ( $DEBUG_sys ) ; then 1292 echo "IGCM_sys_GetDate_FichWork :" $@ 1293 fi 1294 # donne la date filesys d'un fichier sur la machine work 1295 IGCM_debug_PopStack "IGCM_sys_FichWork" 1296 } 1297 1298 #D-#================================================== 1299 #D-function IGCM_sys_GetDate_FichArchive 1300 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE 1301 #D-* Examples: 1302 #D- 1303 function IGCM_sys_GetDate_FichArchive { 1304 IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 1305 if ( $DEBUG_sys ) ; then 1306 echo "IGCM_sys_GetDate_FichArchive :" $@ 1307 fi 1308 IGCM_debug_PopStack "IGCM_sys_FichArchive" 1108 1309 } 1109 1310 … … 1114 1315 #D- 1115 1316 function IGCM_sys_Dods_Rm { 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1317 if ( $DEBUG_sys ) ; then 1318 echo "IGCM_sys_Dods_Rm :" $@ 1319 fi 1320 typeset RET 1321 RET=0 1322 if [ $DRYRUN = 0 ]; then 1323 if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 1324 echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 1325 echo "Nothing has been done." 1326 return 1327 fi 1328 dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 1329 RET=$? 1330 1130 1331 # if [ ${RET} -gt 0 ] ; then 1131 1332 # echo "IGCM_sys_Dods_Rm : error." … … 1136 1337 # fi 1137 1338 1138 else 1139 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1140 fi 1141 return $RET 1142 } 1143 1339 else 1340 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1341 fi 1342 return $RET 1343 } 1144 1344 1145 1345 #D-#================================================== … … 1149 1349 #D- 1150 1350 function IGCM_sys_Dods_Cp { 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1351 if ( $DEBUG_sys ) ; then 1352 echo "IGCM_sys_Dods_Cp :" $@ 1353 fi 1354 typeset RET 1355 RET=0 1356 if [ $DRYRUN = 0 ]; then 1357 if [ ! -d ${R_SAVE}/${1} ] ; then 1358 echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 1359 echo "Nothing has been done." 1360 return 1361 fi 1362 # 1363 dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 1364 RET=$? 1365 1166 1366 # if [ ${RET} -gt 0 ] ; then 1167 1367 # echo "IGCM_sys_Dods_Cp : error." … … 1172 1372 # fi 1173 1373 1174 1175 1176 1177 1374 else 1375 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1376 fi 1377 return $RET 1178 1378 } 1179 1379 … … 1184 1384 #D- 1185 1385 function IGCM_sys_Put_Dods { 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1386 IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 1387 if ( $DEBUG_sys ) ; then 1388 echo "IGCM_sys_Put_Dods :" $@ 1389 fi 1390 if [ $DRYRUN = 0 ]; then 1391 if [ ! -d ${R_SAVE}/${1} ] ; then 1392 echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 1393 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1394 return 1395 fi 1396 1397 typeset RET 1198 1398 # 1199 cd ${R_SAVE} 1200 IGCM_sys_Dods_Rm ${1} 1201 IGCM_sys_Dods_Cp ${1} 1202 RET=0 1203 1204 if [ ${RET} -gt 0 ] ; then 1205 echo "IGCM_sys_Put_Dods : error." 1206 IGCM_debug_Exit "IGCM_sys_Put_Dods" 1207 fi 1208 else 1209 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1210 fi 1211 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1212 } 1213 1214 ############################################################## A FINIR !! 1215 1216 #D-#================================================== 1217 #D-function IGCM_sys_GetDate_FichWork 1218 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 1219 #D-* Examples: 1220 #D- 1221 function IGCM_sys_GetDate_FichWork { 1222 IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 1223 if ( $DEBUG_sys ) ; then 1224 echo "IGCM_sys_GetDate_FichWork :" $@ 1225 fi 1226 # donne la date filesys d'un fichier sur la machine work 1227 IGCM_debug_PopStack "IGCM_sys_FichWork" 1228 } 1229 1230 #D-#================================================== 1231 #D-function IGCM_sys_GetDate_FichArchive 1232 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE 1233 #D-* Examples: 1234 #D- 1235 function IGCM_sys_GetDate_FichArchive { 1236 IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 1237 if ( $DEBUG_sys ) ; then 1238 echo "IGCM_sys_GetDate_FichArchive :" $@ 1239 fi 1240 IGCM_debug_PopStack "IGCM_sys_FichArchive" 1399 cd ${R_SAVE} 1400 IGCM_sys_Dods_Rm ${1} 1401 IGCM_sys_Dods_Cp ${1} 1402 RET=0 1403 1404 if [ ${RET} -gt 0 ] ; then 1405 echo "IGCM_sys_Put_Dods : error." 1406 IGCM_debug_Exit "IGCM_sys_Put_Dods" 1407 fi 1408 else 1409 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1410 fi 1411 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1241 1412 } 1242 1413 … … 1245 1416 1246 1417 function IGCM_sys_rebuild { 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1418 IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 1419 if ( $DEBUG_sys ) ; then 1420 echo "IGCM_sys_rebuild :" $@ 1421 fi 1422 /home/cont003/p86ipsl/X86_64/bin/rebuild -f -o $@ 1423 if [ $? -gt 0 ] ; then 1424 echo "IGCM_sys_rebuild : erreur ${@}." 1425 IGCM_debug_Exit "rebuild" 1426 fi 1427 1428 IGCM_debug_PopStack "IGCM_sys_rebuild" 1258 1429 } 1259 1430 … … 1262 1433 1263 1434 function IGCM_sys_ncap2 { 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1435 IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 1436 if ( $DEBUG_sys ) ; then 1437 echo "IGCM_sys_ncap2 :" $@ 1438 fi 1439 ncap2 "$@" 1440 if [ $? -gt 0 ] ; then 1441 echo "IGCM_sys_ncap2 : erreur ${@}." 1442 IGCM_debug_Exit "ncap2" 1443 fi 1444 1445 IGCM_debug_PopStack "IGCM_sys_ncap2" 1275 1446 } 1276 1447 1277 1448 function IGCM_sys_ncatted { 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1449 IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 1450 if ( $DEBUG_sys ) ; then 1451 echo "IGCM_sys_ncatted :" $@ 1452 fi 1453 ncatted "$@" 1454 if [ $? -gt 0 ] ; then 1455 echo "IGCM_sys_ncatted : erreur ${@}." 1456 IGCM_debug_Exit "ncatted" 1457 fi 1458 1459 IGCM_debug_PopStack "IGCM_sys_ncatted" 1289 1460 } 1290 1461 1291 1462 function IGCM_sys_ncbo { 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1463 IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 1464 if ( $DEBUG_sys ) ; then 1465 echo "IGCM_sys_ncbo :" $@ 1466 fi 1467 ncbo $@ 1468 if [ $? -gt 0 ] ; then 1469 echo "IGCM_sys_ncbo : erreur ${@}." 1470 IGCM_debug_Exit "ncbo" 1471 fi 1472 1473 IGCM_debug_PopStack "IGCM_sys_ncbo" 1303 1474 } 1304 1475 1305 1476 function IGCM_sys_ncdiff { 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1477 IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 1478 if ( $DEBUG_sys ) ; then 1479 echo "IGCM_sys_ncdiff :" $@ 1480 fi 1481 ncdiff $@ 1482 if [ $? -gt 0 ] ; then 1483 echo "IGCM_sys_ncdiff : erreur ${@}." 1484 IGCM_debug_Exit "ncdiff" 1485 fi 1486 1487 IGCM_debug_PopStack "IGCM_sys_ncdiff" 1317 1488 } 1318 1489 1319 1490 function IGCM_sys_ncea { 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1491 IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 1492 if ( $DEBUG_sys ) ; then 1493 echo "IGCM_sys_ncea :" $@ 1494 fi 1495 ncea $@ 1496 if [ $? -gt 0 ] ; then 1497 echo "IGCM_sys_ncea : erreur ${@}." 1498 IGCM_debug_Exit "ncea" 1499 fi 1500 1501 IGCM_debug_PopStack "IGCM_sys_ncea" 1331 1502 } 1332 1503 1333 1504 function IGCM_sys_ncecat { 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1505 IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 1506 if ( $DEBUG_sys ) ; then 1507 echo "IGCM_sys_ncecat :" $@ 1508 fi 1509 ncecat $@ 1510 if [ $? -gt 0 ] ; then 1511 echo "IGCM_sys_ncecat : erreur ${@}." 1512 IGCM_debug_Exit "ncecat" 1513 fi 1514 1515 IGCM_debug_PopStack "IGCM_sys_ncecat" 1345 1516 } 1346 1517 1347 1518 function IGCM_sys_ncflint { 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1519 IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 1520 if ( $DEBUG_sys ) ; then 1521 echo "IGCM_sys_ncflint :" $@ 1522 fi 1523 ncflint $@ 1524 if [ $? -gt 0 ] ; then 1525 echo "IGCM_sys_ncflint : erreur ${@}." 1526 IGCM_debug_Exit "ncflint" 1527 fi 1528 1529 IGCM_debug_PopStack "IGCM_sys_ncflint" 1359 1530 } 1360 1531 1361 1532 function IGCM_sys_ncks { 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1533 IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 1534 if ( $DEBUG_sys ) ; then 1535 echo "IGCM_sys_ncks :" $@ 1536 fi 1537 ncks $@ 1538 if [ $? -gt 0 ] ; then 1539 echo "IGCM_sys_ncks : erreur ${@}." 1540 IGCM_debug_Exit "ncks" 1541 fi 1542 1543 IGCM_debug_PopStack "IGCM_sys_ncks" 1373 1544 } 1374 1545 1375 1546 function IGCM_sys_ncpdq { 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1547 IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 1548 if ( $DEBUG_sys ) ; then 1549 echo "IGCM_sys_ncpdq :" $@ 1550 fi 1551 ncpdq $@ 1552 if [ $? -gt 0 ] ; then 1553 echo "IGCM_sys_ncpdq : erreur ${@}." 1554 IGCM_debug_Exit "ncpdq" 1555 fi 1556 1557 IGCM_debug_PopStack "IGCM_sys_ncpdq" 1387 1558 } 1388 1559 1389 1560 function IGCM_sys_ncra { 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1561 IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 1562 if ( $DEBUG_sys ) ; then 1563 echo "IGCM_sys_ncra :" $@ 1564 fi 1565 ncra $@ 1566 if [ $? -gt 0 ] ; then 1567 echo "IGCM_sys_ncra : erreur ${@}." 1568 IGCM_debug_Exit "ncra" 1569 fi 1570 1571 IGCM_debug_PopStack "IGCM_sys_ncra" 1401 1572 } 1402 1573 1403 1574 function IGCM_sys_ncrcat { 1404 1405 1406 1407 1408 1409 1410 1575 IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 1576 if ( $DEBUG_sys ) ; then 1577 echo "IGCM_sys_ncrcat :" $@ 1578 fi 1579 ncrcat $@ 1580 if [ $? -gt 0 ] ; then 1581 echo "IGCM_sys_ncrcat : erreur ${@}." 1411 1582 # IGCM_debug_Exit "ncrcat" 1412 1413 1414 1583 fi 1584 1585 IGCM_debug_PopStack "IGCM_sys_ncrcat" 1415 1586 } 1416 1587 1417 1588 function IGCM_sys_ncrename { 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1589 IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 1590 if ( $DEBUG_sys ) ; then 1591 echo "IGCM_sys_ncrename :" $@ 1592 fi 1593 ncrename $@ 1594 if [ $? -gt 0 ] ; then 1595 echo "IGCM_sys_ncrename : erreur ${@}." 1596 IGCM_debug_Exit "ncrename" 1597 fi 1598 1599 IGCM_debug_PopStack "IGCM_sys_ncrename" 1429 1600 } 1430 1601 1431 1602 function IGCM_sys_ncwa { 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1603 IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 1604 if ( $DEBUG_sys ) ; then 1605 echo "IGCM_sys_ncwa :" $@ 1606 fi 1607 ncwa $@ 1608 if [ $? -gt 0 ] ; then 1609 echo "IGCM_sys_ncwa : erreur ${@}." 1610 IGCM_debug_Exit "ncwa" 1611 fi 1612 1613 IGCM_debug_PopStack "IGCM_sys_ncwa" 1443 1614 } 1444 1615 … … 1447 1618 1448 1619 function IGCM_sys_cdo { 1449 IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 1450 1451 \cdo $@ 1452 if [ $? -gt 0 ] ; then 1453 echo "IGCM_sys_cdo : erreur ${@}." 1454 IGCM_debug_PopStack "IGCM_sys_cdo" 1455 return 1 1456 else 1457 IGCM_debug_PopStack "IGCM_sys_cdo" 1458 return 0 1459 fi 1460 1620 IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 1621 if ( $DEBUG_sys ) ; then 1622 echo "IGCM_sys_cdo :" $@ 1623 fi 1624 \cdo $@ 1625 if [ $? -gt 0 ] ; then 1626 echo "IGCM_sys_cdo : erreur ${@}." 1461 1627 IGCM_debug_PopStack "IGCM_sys_cdo" 1628 return 1 1629 else 1630 IGCM_debug_PopStack "IGCM_sys_cdo" 1631 return 0 1632 fi 1633 1634 IGCM_debug_PopStack "IGCM_sys_cdo" 1462 1635 } 1463 1636 … … 1466 1639 1467 1640 function IGCM_sys_activ_variables { 1468 1469 1470 1471 1472 1641 IGCM_debug_PushStack "IGCM_sys_activ_variables" 1642 if ( $DEBUG_sys ) ; then 1643 echo "IGCM_sys_activ_variables" 1644 fi 1645 IGCM_debug_PopStack "IGCM_sys_activ_variables" 1473 1646 } 1474 1647 … … 1477 1650 1478 1651 function IGCM_sys_desactiv_variables { 1479 1480 1481 1482 1483 1652 IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 1653 if ( $DEBUG_sys ) ; then 1654 echo "IGCM_sys_desactiv_variables" 1655 fi 1656 IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 1484 1657 } 1485 1658 … … 1488 1661 1489 1662 function IGCM_sys_build_run_file { 1490 1491 1492 1493 1494 1495 } 1663 IGCM_debug_PushStack "IGCM_sys_build_run_file" 1664 if ( $DEBUG_sys ) ; then 1665 echo "IGCM_sys_build_run_file" 1666 fi 1667 IGCM_debug_PopStack "IGCM_sys_build_run_file" 1668 }
Note: See TracChangeset
for help on using the changeset viewer.