Changeset 2141 for LMDZ5/trunk/libf
- Timestamp:
- Nov 10, 2014, 6:32:56 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d/conf_gcm.F
r2083 r2141 355 355 CALL getin('ok_guide',ok_guide) 356 356 357 ! ...............................................................358 359 357 !Config Key = read_start 360 358 !Config Desc = Initialize model using a 'start.nc' file … … 381 379 CALL getin('iphysiq', iphysiq) 382 380 381 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 382 $ "iphysiq must be a multiple of iperiod", 1) 383 383 384 !Config Key = ip_ebil_dyn 384 385 !Config Desc = PRINT level for energy conserv. diag. … … 421 422 ! 422 423 IF( ABS(clat - clatt).GE. 0.001 ) THEN 423 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', &424 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', 424 425 & ' est differente de celle lue sur le fichier start ' 425 426 STOP … … 436 437 437 438 IF( ABS(grossismx - grossismxx).GE. 0.001 ) THEN 438 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', &439 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', 439 440 & 'run.def est differente de celle lue sur le fichier start ' 440 441 STOP … … 450 451 451 452 IF( ABS(grossismy - grossismyy).GE. 0.001 ) THEN 452 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', &453 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', 453 454 & 'run.def est differente de celle lue sur le fichier start ' 454 455 STOP … … 456 457 457 458 IF( grossismx.LT.1. ) THEN 458 write(lunout,*) &459 write(lunout,*) 459 460 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 460 461 STOP … … 465 466 466 467 IF( grossismy.LT.1. ) THEN 467 write(lunout,*) &468 write(lunout,*) 468 469 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 469 470 STOP … … 489 490 IF( fxyhypbb ) THEN 490 491 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 491 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', &492 &'F alors qu il est T sur run.def ***'492 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 493 * 'F alors qu il est T sur run.def ***' 493 494 STOP 494 495 ENDIF … … 496 497 IF( .NOT.fxyhypbb ) THEN 497 498 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 498 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', &499 &'T alors qu il est F sur run.def **** '499 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 500 * 'T alors qu il est F sur run.def **** ' 500 501 STOP 501 502 ENDIF … … 512 513 IF( fxyhypb ) THEN 513 514 IF( ABS(dzoomx - dzoomxx).GE. 0.001 ) THEN 514 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', &515 &'run.def est differente de celle lue sur le fichier start '515 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', 516 * 'run.def est differente de celle lue sur le fichier start ' 516 517 STOP 517 518 ENDIF … … 528 529 IF( fxyhypb ) THEN 529 530 IF( ABS(dzoomy - dzoomyy).GE. 0.001 ) THEN 530 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', &531 &'run.def est differente de celle lue sur le fichier start '531 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', 532 * 'run.def est differente de celle lue sur le fichier start ' 532 533 STOP 533 534 ENDIF … … 543 544 IF( fxyhypb ) THEN 544 545 IF( ABS(taux - tauxx).GE. 0.001 ) THEN 545 write(lunout,*)'conf_gcm: La valeur de taux passee par ', &546 &'run.def est differente de celle lue sur le fichier start '546 write(lunout,*)'conf_gcm: La valeur de taux passee par ', 547 * 'run.def est differente de celle lue sur le fichier start ' 547 548 STOP 548 549 ENDIF … … 558 559 IF( fxyhypb ) THEN 559 560 IF( ABS(tauy - tauyy).GE. 0.001 ) THEN 560 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', &561 &'run.def est differente de celle lue sur le fichier start '561 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', 562 * 'run.def est differente de celle lue sur le fichier start ' 562 563 STOP 563 564 ENDIF … … 579 580 IF( ysinuss ) THEN 580 581 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 581 write(lunout,*)' *** ysinus lu sur le fichier start est F', &582 &' alors qu il est T sur run.def ***'582 write(lunout,*)' *** ysinus lu sur le fichier start est F', 583 * ' alors qu il est T sur run.def ***' 583 584 STOP 584 585 ENDIF … … 586 587 IF( .NOT.ysinuss ) THEN 587 588 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 588 write(lunout,*)' *** ysinus lu sur le fichier start est T', &589 &' alors qu il est F sur run.def **** '589 write(lunout,*)' *** ysinus lu sur le fichier start est T', 590 * ' alors qu il est F sur run.def **** ' 590 591 STOP 591 592 ENDIF … … 725 726 726 727 IF( grossismx.LT.1. ) THEN 727 write(lunout,*)'conf_gcm: ***ATTENTION !! grossismx < 1 . *** ' 728 write(lunout,*) 729 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 728 730 STOP 729 731 ELSE … … 869 871 vert_prof_dissip = merge(1, 0, ok_strato .and. llm==39) 870 872 CALL getin('vert_prof_dissip', vert_prof_dissip) 871 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, &872 &"bad value for vert_prof_dissip")873 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, 874 $ "bad value for vert_prof_dissip") 873 875 874 876 !Config Key = ok_gradsfile … … 897 899 898 900 write(lunout,*)' #########################################' 899 write(lunout,*)' Configuration des parametres de cel0' &901 write(lunout,*)' Configuration des parametres de cel0' 900 902 & //'_limit: ' 901 903 write(lunout,*)' planet_type = ', planet_type -
LMDZ5/trunk/libf/dyn3dmem/conf_gcm.F
r2111 r2141 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 … … 21 21 22 22 IMPLICIT NONE 23 c-----------------------------------------------------------------------24 cAuteurs : L. Fairhead , P. Le Van .25 c 26 cArguments :27 c 28 ctapedef :29 cetatinit : = TRUE , on ne compare pas les valeurs des para-30 c-metres du zoom avec celles lues sur le fichier start .31 cclesphy0 : sortie .32 c 23 !----------------------------------------------------------------------- 24 ! Auteurs : L. Fairhead , P. Le Van . 25 ! 26 ! Arguments : 27 ! 28 ! tapedef : 29 ! etatinit : = TRUE , on ne compare pas les valeurs des para- 30 ! -metres du zoom avec celles lues sur le fichier start . 31 ! clesphy0 : sortie . 32 ! 33 33 LOGICAL etatinit 34 34 INTEGER tapedef … … 37 37 PARAMETER( longcles = 20 ) 38 38 REAL clesphy0( longcles ) 39 c 40 cDeclarations :41 c--------------39 ! 40 ! Declarations : 41 ! -------------- 42 42 #include "dimensions.h" 43 43 #include "paramet.h" … … 51 51 ! #include "clesphys.h" 52 52 #include "iniprint.h" 53 c 54 c 55 clocal:56 c------53 ! 54 ! 55 ! local: 56 ! ------ 57 57 58 58 CHARACTER ch1*72,ch2*72,ch3*72,ch4*12 … … 66 66 integer,external :: OMP_GET_NUM_THREADS 67 67 #endif 68 c 69 c-------------------------------------------------------------------70 c 71 c......... Version du 29/04/97 ..........72 c 73 cNouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot,74 ctetatemp ajoutes pour la dissipation .75 c 76 cAutre parametre ajoute en fin de liste de tapedef : ** fxyhypb **77 c 78 cSi fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb.79 cSinon , choix de fxynew , a derivee sinusoidale ..80 c 81 c...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou82 cLIMIT_LMD pour l'initialisation de start.dat (dic) et83 cde limit.dat ( dic) ...........84 cSinon etatinit = . FALSE .85 c 86 cDonc etatinit = .F. si on veut comparer les valeurs de grossismx ,87 cgrossismy,clon,clat, fxyhypb lues sur le fichier start avec88 ccelles passees par run.def , au debut du gcm, apres l'appel a89 clectba .90 cCes parmetres definissant entre autres la grille et doivent etre91 cpareils et coherents , sinon il y aura divergence du gcm .92 c 93 c-----------------------------------------------------------------------94 cinitialisations:95 c----------------96 68 ! 69 ! ------------------------------------------------------------------- 70 ! 71 ! ......... Version du 29/04/97 .......... 72 ! 73 ! Nouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot, 74 ! tetatemp ajoutes pour la dissipation . 75 ! 76 ! Autre parametre ajoute en fin de liste de tapedef : ** fxyhypb ** 77 ! 78 ! Si fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb. 79 ! Sinon , choix de fxynew , a derivee sinusoidale .. 80 ! 81 ! ...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou 82 ! LIMIT_LMD pour l'initialisation de start.dat (dic) et 83 ! de limit.dat ( dic) ........... 84 ! Sinon etatinit = . FALSE . 85 ! 86 ! Donc etatinit = .F. si on veut comparer les valeurs de grossismx , 87 ! grossismy,clon,clat, fxyhypb lues sur le fichier start avec 88 ! celles passees par run.def , au debut du gcm, apres l'appel a 89 ! lectba . 90 ! Ces parmetres definissant entre autres la grille et doivent etre 91 ! pareils et coherents , sinon il y aura divergence du gcm . 92 ! 93 !----------------------------------------------------------------------- 94 ! initialisations: 95 ! ---------------- 96 97 97 !Config Key = lunout 98 98 !Config Desc = unite de fichier pour les impressions … … 134 134 CALL getin('prt_level',prt_level) 135 135 136 c-----------------------------------------------------------------------137 cParametres de controle du run:138 c-----------------------------------------------------------------------136 !----------------------------------------------------------------------- 137 ! Parametres de controle du run: 138 !----------------------------------------------------------------------- 139 139 !Config Key = planet_type 140 140 !Config Desc = planet type ("earth", "mars", "venus", ...) … … 266 266 CALL getin('dissip_period',dissip_period) 267 267 268 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ...269 ccc268 !cc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... 269 !cc 270 270 271 271 !Config Key = lstardis … … 409 409 CALL getin('iphysiq', iphysiq) 410 410 411 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 412 $ "iphysiq must be a multiple of iperiod", 1) 413 411 414 !Config Key = ip_ebil_dyn 412 415 !Config Desc = PRINT level for energy conserv. diag. … … 422 425 423 426 424 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ...425 c......... ( modif le 17/04/96 ) .........426 c 427 !cc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 428 ! ......... ( modif le 17/04/96 ) ......... 429 ! 427 430 IF( etatinit ) GO TO 100 428 431 … … 443 446 CALL getin('clat',clatt) 444 447 445 c 446 c 448 ! 449 ! 447 450 IF( ABS(clat - clatt).GE. 0.001 ) THEN 448 451 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', … … 498 501 499 502 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 500 c 501 calphax et alphay sont les anciennes formulat. des grossissements502 c 503 c 503 ! 504 ! alphax et alphay sont les anciennes formulat. des grossissements 505 ! 506 ! 504 507 505 508 !Config Key = fxyhypb … … 526 529 ENDIF 527 530 ENDIF 528 c 531 ! 529 532 !Config Key = dzoomx 530 533 !Config Desc = extension en longitude … … 589 592 ENDIF 590 593 591 cc594 !c 592 595 IF( .NOT.fxyhypb ) THEN 593 596 … … 617 620 ENDIF 618 621 ENDIF ! of IF( .NOT.fxyhypb ) 619 c 622 ! 620 623 !Config Key = offline 621 624 !Config Desc = Nouvelle eau liquide … … 722 725 723 726 RETURN 724 c...............................................725 c 727 ! ............................................... 728 ! 726 729 100 CONTINUE 727 730 !Config Key = clon … … 767 770 768 771 IF( grossismy.LT.1. ) THEN 769 write(lunout,*) 770 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 772 write(lunout,*) 'conf_gcm: ***ATTENTION !! grossismy < 1 . *** ' 771 773 STOP 772 774 ELSE … … 775 777 776 778 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 777 c 778 calphax et alphay sont les anciennes formulat. des grossissements779 c 780 c 779 ! 780 ! alphax et alphay sont les anciennes formulat. des grossissements 781 ! 782 ! 781 783 782 784 !Config Key = fxyhypb … … 826 828 ysinus = .TRUE. 827 829 CALL getin('ysinus',ysinus) 828 c 830 ! 829 831 !Config Key = offline 830 832 !Config Desc = Nouvelle eau liquide … … 891 893 !Config Def = false 892 894 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 893 !Config le filtrage aux poles. 895 !Config le filtrage aux poles. 894 896 use_filtre_fft=.FALSE. 895 897 CALL getin('use_filtre_fft',use_filtre_fft) … … 1001 1003 write(lunout,*)' ok_limit = ', ok_limit 1002 1004 write(lunout,*)' ok_etat0 = ', ok_etat0 1003 c 1005 ! 1004 1006 RETURN 1005 1007 END -
LMDZ5/trunk/libf/dyn3dpar/conf_gcm.F
r2111 r2141 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 … … 20 20 21 21 IMPLICIT NONE 22 c-----------------------------------------------------------------------23 cAuteurs : L. Fairhead , P. Le Van .24 c 25 cArguments :26 c 27 ctapedef :28 cetatinit : = TRUE , on ne compare pas les valeurs des para-29 c-metres du zoom avec celles lues sur le fichier start .30 cclesphy0 : sortie .31 c 22 !----------------------------------------------------------------------- 23 ! Auteurs : L. Fairhead , P. Le Van . 24 ! 25 ! Arguments : 26 ! 27 ! tapedef : 28 ! etatinit : = TRUE , on ne compare pas les valeurs des para- 29 ! -metres du zoom avec celles lues sur le fichier start . 30 ! clesphy0 : sortie . 31 ! 32 32 LOGICAL etatinit 33 33 INTEGER tapedef … … 36 36 PARAMETER( longcles = 20 ) 37 37 REAL clesphy0( longcles ) 38 c 39 cDeclarations :40 c--------------38 ! 39 ! Declarations : 40 ! -------------- 41 41 #include "dimensions.h" 42 42 #include "paramet.h" … … 50 50 ! #include "clesphys.h" 51 51 #include "iniprint.h" 52 c 53 c 54 clocal:55 c------52 ! 53 ! 54 ! local: 55 ! ------ 56 56 57 57 CHARACTER ch1*72,ch2*72,ch3*72,ch4*12 … … 65 65 integer,external :: OMP_GET_NUM_THREADS 66 66 #endif 67 c 68 c-------------------------------------------------------------------69 c 70 c......... Version du 29/04/97 ..........71 c 72 cNouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot,73 ctetatemp ajoutes pour la dissipation .74 c 75 cAutre parametre ajoute en fin de liste de tapedef : ** fxyhypb **76 c 77 cSi fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb.78 cSinon , choix de fxynew , a derivee sinusoidale ..79 c 80 c...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou81 cLIMIT_LMD pour l'initialisation de start.dat (dic) et82 cde limit.dat ( dic) ...........83 cSinon etatinit = . FALSE .84 c 85 cDonc etatinit = .F. si on veut comparer les valeurs de grossismx ,86 cgrossismy,clon,clat, fxyhypb lues sur le fichier start avec87 ccelles passees par run.def , au debut du gcm, apres l'appel a88 clectba .89 cCes parmetres definissant entre autres la grille et doivent etre90 cpareils et coherents , sinon il y aura divergence du gcm .91 c 92 c-----------------------------------------------------------------------93 cinitialisations:94 c----------------95 67 ! 68 ! ------------------------------------------------------------------- 69 ! 70 ! ......... Version du 29/04/97 .......... 71 ! 72 ! Nouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot, 73 ! tetatemp ajoutes pour la dissipation . 74 ! 75 ! Autre parametre ajoute en fin de liste de tapedef : ** fxyhypb ** 76 ! 77 ! Si fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb. 78 ! Sinon , choix de fxynew , a derivee sinusoidale .. 79 ! 80 ! ...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou 81 ! LIMIT_LMD pour l'initialisation de start.dat (dic) et 82 ! de limit.dat ( dic) ........... 83 ! Sinon etatinit = . FALSE . 84 ! 85 ! Donc etatinit = .F. si on veut comparer les valeurs de grossismx , 86 ! grossismy,clon,clat, fxyhypb lues sur le fichier start avec 87 ! celles passees par run.def , au debut du gcm, apres l'appel a 88 ! lectba . 89 ! Ces parmetres definissant entre autres la grille et doivent etre 90 ! pareils et coherents , sinon il y aura divergence du gcm . 91 ! 92 !----------------------------------------------------------------------- 93 ! initialisations: 94 ! ---------------- 95 96 96 !Config Key = lunout 97 97 !Config Desc = unite de fichier pour les impressions … … 133 133 CALL getin('prt_level',prt_level) 134 134 135 c-----------------------------------------------------------------------136 cParametres de controle du run:137 c-----------------------------------------------------------------------135 !----------------------------------------------------------------------- 136 ! Parametres de controle du run: 137 !----------------------------------------------------------------------- 138 138 !Config Key = planet_type 139 139 !Config Desc = planet type ("earth", "mars", "venus", ...) … … 265 265 CALL getin('dissip_period',dissip_period) 266 266 267 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ...268 ccc267 !cc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... 268 !cc 269 269 270 270 !Config Key = lstardis … … 408 408 CALL getin('iphysiq', iphysiq) 409 409 410 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 411 $ "iphysiq must be a multiple of iperiod", 1) 412 410 413 !Config Key = ip_ebil_dyn 411 414 !Config Desc = PRINT level for energy conserv. diag. … … 421 424 422 425 423 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ...424 c......... ( modif le 17/04/96 ) .........425 c 426 !cc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 427 ! ......... ( modif le 17/04/96 ) ......... 428 ! 426 429 IF( etatinit ) GO TO 100 427 430 … … 442 445 CALL getin('clat',clatt) 443 446 444 c 445 c 447 ! 448 ! 446 449 IF( ABS(clat - clatt).GE. 0.001 ) THEN 447 450 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', … … 497 500 498 501 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 499 c 500 calphax et alphay sont les anciennes formulat. des grossissements501 c 502 c 502 ! 503 ! alphax et alphay sont les anciennes formulat. des grossissements 504 ! 505 ! 503 506 504 507 !Config Key = fxyhypb … … 525 528 ENDIF 526 529 ENDIF 527 c 530 ! 528 531 !Config Key = dzoomx 529 532 !Config Desc = extension en longitude … … 588 591 ENDIF 589 592 590 cc593 !c 591 594 IF( .NOT.fxyhypb ) THEN 592 595 … … 616 619 ENDIF 617 620 ENDIF ! of IF( .NOT.fxyhypb ) 618 c 621 ! 619 622 !Config Key = offline 620 623 !Config Desc = Nouvelle eau liquide … … 721 724 722 725 RETURN 723 c...............................................724 c 726 ! ............................................... 727 ! 725 728 100 CONTINUE 726 729 !Config Key = clon … … 766 769 767 770 IF( grossismy.LT.1. ) THEN 768 write(lunout,*) 769 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 771 write(lunout,*) 'conf_gcm: ***ATTENTION !! grossismy < 1 . *** ' 770 772 STOP 771 773 ELSE … … 774 776 775 777 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 776 c 777 calphax et alphay sont les anciennes formulat. des grossissements778 c 779 c 778 ! 779 ! alphax et alphay sont les anciennes formulat. des grossissements 780 ! 781 ! 780 782 781 783 !Config Key = fxyhypb … … 825 827 ysinus = .TRUE. 826 828 CALL getin('ysinus',ysinus) 827 c 829 ! 828 830 !Config Key = offline 829 831 !Config Desc = Nouvelle eau liquide … … 890 892 !Config Def = false 891 893 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 892 !Config le filtrage aux poles. 894 !Config le filtrage aux poles. 893 895 use_filtre_fft=.FALSE. 894 896 CALL getin('use_filtre_fft',use_filtre_fft) … … 999 1001 write(lunout,*)' ok_limit = ', ok_limit 1000 1002 write(lunout,*)' ok_etat0 = ', ok_etat0 1001 c 1003 ! 1002 1004 RETURN 1003 1005 END
Note: See TracChangeset
for help on using the changeset viewer.