Changeset 2056 for LMDZ5/branches/testing/libf/dyn3d/conf_gcm.F
- Timestamp:
- Jun 11, 2014, 3:46:46 PM (10 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 1998,2000-2023,2025-2029,2032,2034,2036-2049,2051-2055
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/dyn3d/conf_gcm.F
r1999 r2056 2 2 ! $Id$ 3 3 ! 4 c 5 c 4 ! 5 ! 6 6 SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 ) 7 c 7 ! 8 8 USE control_mod 9 9 #ifdef CPP_IOIPSL … … 17 17 18 18 IMPLICIT NONE 19 c-----------------------------------------------------------------------20 cAuteurs : L. Fairhead , P. Le Van .21 c 22 cArguments :23 c 24 ctapedef :25 cetatinit : = TRUE , on ne compare pas les valeurs des para-26 c-metres du zoom avec celles lues sur le fichier start .27 cclesphy0 : sortie .28 c 19 !----------------------------------------------------------------------- 20 ! Auteurs : L. Fairhead , P. Le Van . 21 ! 22 ! Arguments : 23 ! 24 ! tapedef : 25 ! etatinit : = TRUE , on ne compare pas les valeurs des para- 26 ! -metres du zoom avec celles lues sur le fichier start . 27 ! clesphy0 : sortie . 28 ! 29 29 LOGICAL etatinit 30 30 INTEGER tapedef … … 33 33 PARAMETER( longcles = 20 ) 34 34 REAL clesphy0( longcles ) 35 c 36 cDeclarations :37 c--------------35 ! 36 ! Declarations : 37 ! -------------- 38 38 #include "dimensions.h" 39 39 #include "paramet.h" … … 47 47 ! #include "clesphys.h" 48 48 #include "iniprint.h" 49 c 50 c 51 clocal:52 c------49 ! 50 ! 51 ! local: 52 ! ------ 53 53 54 54 CHARACTER ch1*72,ch2*72,ch3*72,ch4*12 … … 58 58 INTEGER i 59 59 LOGICAL use_filtre_fft 60 c 61 c-------------------------------------------------------------------62 c 63 c......... Version du 29/04/97 ..........64 c 65 cNouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot,66 ctetatemp ajoutes pour la dissipation .67 c 68 cAutre parametre ajoute en fin de liste de tapedef : ** fxyhypb **69 c 70 cSi fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb.71 cSinon , choix de fxynew , a derivee sinusoidale ..72 c 73 c...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou74 cLIMIT_LMD pour l'initialisation de start.dat (dic) et75 cde limit.dat ( dic) ...........76 cSinon etatinit = . FALSE .77 c 78 cDonc etatinit = .F. si on veut comparer les valeurs de grossismx ,79 cgrossismy,clon,clat, fxyhypb lues sur le fichier start avec80 ccelles passees par run.def , au debut du gcm, apres l'appel a81 clectba .82 cCes parmetres definissant entre autres la grille et doivent etre83 cpareils et coherents , sinon il y aura divergence du gcm .84 c 85 c-----------------------------------------------------------------------86 cinitialisations:87 c----------------60 ! 61 ! ------------------------------------------------------------------- 62 ! 63 ! ......... Version du 29/04/97 .......... 64 ! 65 ! Nouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot, 66 ! tetatemp ajoutes pour la dissipation . 67 ! 68 ! Autre parametre ajoute en fin de liste de tapedef : ** fxyhypb ** 69 ! 70 ! Si fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb. 71 ! Sinon , choix de fxynew , a derivee sinusoidale .. 72 ! 73 ! ...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou 74 ! LIMIT_LMD pour l'initialisation de start.dat (dic) et 75 ! de limit.dat ( dic) ........... 76 ! Sinon etatinit = . FALSE . 77 ! 78 ! Donc etatinit = .F. si on veut comparer les valeurs de grossismx , 79 ! grossismy,clon,clat, fxyhypb lues sur le fichier start avec 80 ! celles passees par run.def , au debut du gcm, apres l'appel a 81 ! lectba . 82 ! Ces parmetres definissant entre autres la grille et doivent etre 83 ! pareils et coherents , sinon il y aura divergence du gcm . 84 ! 85 !----------------------------------------------------------------------- 86 ! initialisations: 87 ! ---------------- 88 88 89 89 !Config Key = lunout … … 95 95 CALL getin('lunout', lunout) 96 96 IF (lunout /= 5 .and. lunout /= 6) THEN 97 OPEN(UNIT=lunout,FILE='lmdz.out',ACTION='write', 97 OPEN(UNIT=lunout,FILE='lmdz.out',ACTION='write', & 98 98 & STATUS='unknown',FORM='formatted') 99 99 ENDIF … … 107 107 CALL getin('prt_level',prt_level) 108 108 109 c-----------------------------------------------------------------------110 cParametres de controle du run:111 c-----------------------------------------------------------------------109 !----------------------------------------------------------------------- 110 ! Parametres de controle du run: 111 !----------------------------------------------------------------------- 112 112 !Config Key = planet_type 113 113 !Config Desc = planet type ("earth", "mars", "venus", ...) … … 232 232 CALL getin('dissip_period',dissip_period) 233 233 234 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ...235 ccc234 !cc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... 235 !cc 236 236 237 237 !Config Key = lstardis … … 348 348 CALL getin('ok_guide',ok_guide) 349 349 350 c...............................................................350 ! ............................................................... 351 351 352 352 !Config Key = read_start … … 390 390 ENDDO 391 391 392 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ...393 c......... ( modif le 17/04/96 ) .........394 c 392 !cc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 393 ! ......... ( modif le 17/04/96 ) ......... 394 ! 395 395 IF( etatinit ) GO TO 100 396 396 … … 411 411 CALL getin('clat',clatt) 412 412 413 c 414 c 413 ! 414 ! 415 415 IF( ABS(clat - clatt).GE. 0.001 ) THEN 416 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', 416 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', & 417 417 & ' est differente de celle lue sur le fichier start ' 418 418 STOP … … 429 429 430 430 IF( ABS(grossismx - grossismxx).GE. 0.001 ) THEN 431 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', 431 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', & 432 432 & 'run.def est differente de celle lue sur le fichier start ' 433 433 STOP … … 443 443 444 444 IF( ABS(grossismy - grossismyy).GE. 0.001 ) THEN 445 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', 445 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', & 446 446 & 'run.def est differente de celle lue sur le fichier start ' 447 447 STOP … … 449 449 450 450 IF( grossismx.LT.1. ) THEN 451 write(lunout,*) 451 write(lunout,*) & 452 452 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 453 453 STOP … … 458 458 459 459 IF( grossismy.LT.1. ) THEN 460 write(lunout,*) 460 write(lunout,*) & 461 461 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 462 462 STOP … … 466 466 467 467 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 468 c 469 calphax et alphay sont les anciennes formulat. des grossissements470 c 471 c 468 ! 469 ! alphax et alphay sont les anciennes formulat. des grossissements 470 ! 471 ! 472 472 473 473 !Config Key = fxyhypb … … 482 482 IF( fxyhypbb ) THEN 483 483 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 484 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 485 *'F alors qu il est T sur run.def ***'484 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', & 485 & 'F alors qu il est T sur run.def ***' 486 486 STOP 487 487 ENDIF … … 489 489 IF( .NOT.fxyhypbb ) THEN 490 490 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 491 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 492 *'T alors qu il est F sur run.def **** '491 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', & 492 & 'T alors qu il est F sur run.def **** ' 493 493 STOP 494 494 ENDIF 495 495 ENDIF 496 c 496 ! 497 497 !Config Key = dzoomx 498 498 !Config Desc = extension en longitude … … 505 505 IF( fxyhypb ) THEN 506 506 IF( ABS(dzoomx - dzoomxx).GE. 0.001 ) THEN 507 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', 508 *'run.def est differente de celle lue sur le fichier start '507 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', & 508 & 'run.def est differente de celle lue sur le fichier start ' 509 509 STOP 510 510 ENDIF … … 521 521 IF( fxyhypb ) THEN 522 522 IF( ABS(dzoomy - dzoomyy).GE. 0.001 ) THEN 523 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', 524 *'run.def est differente de celle lue sur le fichier start '523 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', & 524 & 'run.def est differente de celle lue sur le fichier start ' 525 525 STOP 526 526 ENDIF … … 536 536 IF( fxyhypb ) THEN 537 537 IF( ABS(taux - tauxx).GE. 0.001 ) THEN 538 write(lunout,*)'conf_gcm: La valeur de taux passee par ', 539 *'run.def est differente de celle lue sur le fichier start '538 write(lunout,*)'conf_gcm: La valeur de taux passee par ', & 539 & 'run.def est differente de celle lue sur le fichier start ' 540 540 STOP 541 541 ENDIF … … 551 551 IF( fxyhypb ) THEN 552 552 IF( ABS(tauy - tauyy).GE. 0.001 ) THEN 553 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', 554 *'run.def est differente de celle lue sur le fichier start '553 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', & 554 & 'run.def est differente de celle lue sur le fichier start ' 555 555 STOP 556 556 ENDIF 557 557 ENDIF 558 558 559 cc559 !c 560 560 IF( .NOT.fxyhypb ) THEN 561 561 … … 572 572 IF( ysinuss ) THEN 573 573 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 574 write(lunout,*)' *** ysinus lu sur le fichier start est F', 575 *' alors qu il est T sur run.def ***'574 write(lunout,*)' *** ysinus lu sur le fichier start est F', & 575 & ' alors qu il est T sur run.def ***' 576 576 STOP 577 577 ENDIF … … 579 579 IF( .NOT.ysinuss ) THEN 580 580 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 581 write(lunout,*)' *** ysinus lu sur le fichier start est T', 582 *' alors qu il est F sur run.def **** '581 write(lunout,*)' *** ysinus lu sur le fichier start est T', & 582 & ' alors qu il est F sur run.def **** ' 583 583 STOP 584 584 ENDIF 585 585 ENDIF 586 586 ENDIF ! of IF( .NOT.fxyhypb ) 587 c 587 ! 588 588 !Config Key = offline 589 589 !Config Desc = Nouvelle eau liquide … … 682 682 683 683 RETURN 684 c...............................................685 c 684 ! ............................................... 685 ! 686 686 100 CONTINUE 687 687 !Config Key = clon … … 718 718 719 719 IF( grossismx.LT.1. ) THEN 720 write(lunout,*) 721 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 720 write(lunout,*)'conf_gcm: ***ATTENTION !! grossismx < 1 . *** ' 722 721 STOP 723 722 ELSE … … 727 726 728 727 IF( grossismy.LT.1. ) THEN 729 write(lunout,*) 730 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 728 write(lunout,*) 'conf_gcm: ***ATTENTION !! grossismy < 1 . *** ' 731 729 STOP 732 730 ELSE … … 735 733 736 734 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 737 c 738 calphax et alphay sont les anciennes formulat. des grossissements739 c 740 c 735 ! 736 ! alphax et alphay sont les anciennes formulat. des grossissements 737 ! 738 ! 741 739 742 740 !Config Key = fxyhypb … … 786 784 ysinus = .TRUE. 787 785 CALL getin('ysinus',ysinus) 788 c 786 ! 789 787 !Config Key = offline 790 788 !Config Desc = Nouvelle eau liquide … … 864 862 vert_prof_dissip = merge(1, 0, ok_strato .and. llm==39) 865 863 CALL getin('vert_prof_dissip', vert_prof_dissip) 866 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, 867 $"bad value for vert_prof_dissip")864 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, & 865 & "bad value for vert_prof_dissip") 868 866 869 867 !Config Key = ok_gradsfile … … 892 890 893 891 write(lunout,*)' #########################################' 894 write(lunout,*)' Configuration des parametres de cel0' 892 write(lunout,*)' Configuration des parametres de cel0' & 895 893 & //'_limit: ' 896 894 write(lunout,*)' planet_type = ', planet_type … … 937 935 write(lunout,*)' ok_limit = ', ok_limit 938 936 write(lunout,*)' ok_etat0 = ', ok_etat0 939 c 937 ! 940 938 RETURN 941 939 END
Note: See TracChangeset
for help on using the changeset viewer.