Changeset 1302 for trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F
- Timestamp:
- Jun 26, 2014, 6:07:05 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F
r1189 r1302 2 2 ! $Id: conf_gcm.F 1418 2010-07-19 15:11:24Z jghattas $ 3 3 ! 4 c 5 c 4 ! 5 ! 6 6 SUBROUTINE conf_gcm( tapedef, etatinit ) 7 c 7 ! 8 8 USE control_mod 9 9 #ifdef CPP_IOIPSL … … 18 18 19 19 IMPLICIT NONE 20 c-----------------------------------------------------------------------21 cAuteurs : L. Fairhead , P. Le Van .22 c 23 cArguments :24 c 25 ctapedef :26 cetatinit : = TRUE , on ne compare pas les valeurs des para-27 c-metres du zoom avec celles lues sur le fichier start .28 c 20 !----------------------------------------------------------------------- 21 ! Auteurs : L. Fairhead , P. Le Van . 22 ! 23 ! Arguments : 24 ! 25 ! tapedef : 26 ! etatinit : = TRUE , on ne compare pas les valeurs des para- 27 ! -metres du zoom avec celles lues sur le fichier start . 28 ! 29 29 LOGICAL etatinit 30 30 INTEGER tapedef 31 31 32 cDeclarations :33 c--------------32 ! Declarations : 33 ! -------------- 34 34 #include "dimensions.h" 35 35 #include "paramet.h" … … 43 43 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 44 44 ! #include "clesphys.h" 45 c 46 c 47 clocal:48 c------45 ! 46 ! 47 ! local: 48 ! ------ 49 49 50 50 CHARACTER ch1*72,ch2*72,ch3*72,ch4*12 … … 54 54 INTEGER i 55 55 LOGICAL use_filtre_fft 56 c 57 c-------------------------------------------------------------------58 c 59 c......... Version du 29/04/97 ..........60 c 61 cNouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot,62 ctetatemp ajoutes pour la dissipation .63 c 64 cAutre parametre ajoute en fin de liste de tapedef : ** fxyhypb **65 c 66 cSi fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb.67 cSinon , choix de fxynew , a derivee sinusoidale ..68 c 69 c...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou70 cLIMIT_LMD pour l'initialisation de start.dat (dic) et71 cde limit.dat ( dic) ...........72 cSinon etatinit = . FALSE .73 c 74 cDonc etatinit = .F. si on veut comparer les valeurs de grossismx ,75 cgrossismy,clon,clat, fxyhypb lues sur le fichier start avec76 ccelles passees par run.def , au debut du gcm, apres l'appel a77 clectba .78 cCes parmetres definissant entre autres la grille et doivent etre79 cpareils et coherents , sinon il y aura divergence du gcm .80 c 81 c-----------------------------------------------------------------------82 cinitialisations:83 c----------------56 ! 57 ! ------------------------------------------------------------------- 58 ! 59 ! ......... Version du 29/04/97 .......... 60 ! 61 ! Nouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot, 62 ! tetatemp ajoutes pour la dissipation . 63 ! 64 ! Autre parametre ajoute en fin de liste de tapedef : ** fxyhypb ** 65 ! 66 ! Si fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb. 67 ! Sinon , choix de fxynew , a derivee sinusoidale .. 68 ! 69 ! ...... etatinit = . TRUE. si defrun est appele dans ETAT0_LMD ou 70 ! LIMIT_LMD pour l'initialisation de start.dat (dic) et 71 ! de limit.dat ( dic) ........... 72 ! Sinon etatinit = . FALSE . 73 ! 74 ! Donc etatinit = .F. si on veut comparer les valeurs de grossismx , 75 ! grossismy,clon,clat, fxyhypb lues sur le fichier start avec 76 ! celles passees par run.def , au debut du gcm, apres l'appel a 77 ! lectba . 78 ! Ces parmetres definissant entre autres la grille et doivent etre 79 ! pareils et coherents , sinon il y aura divergence du gcm . 80 ! 81 !----------------------------------------------------------------------- 82 ! initialisations: 83 ! ---------------- 84 84 85 85 !Config Key = lunout … … 91 91 CALL getin('lunout', lunout) 92 92 IF (lunout /= 5 .and. lunout /= 6) THEN 93 OPEN(UNIT=lunout,FILE='lmdz.out',ACTION='write', 93 OPEN(UNIT=lunout,FILE='lmdz.out',ACTION='write', & 94 94 & STATUS='unknown',FORM='formatted') 95 95 ENDIF … … 103 103 CALL getin('prt_level',prt_level) 104 104 105 c-----------------------------------------------------------------------106 cParametres de controle du run:107 c-----------------------------------------------------------------------105 !----------------------------------------------------------------------- 106 ! Parametres de controle du run: 107 !----------------------------------------------------------------------- 108 108 !Config Key = planet_type 109 109 !Config Desc = planet type ("earth", "mars", "venus", ...) … … 264 264 CALL getin('dissip_period',dissip_period) 265 265 266 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ...267 ccc266 !cc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... 267 !cc 268 268 269 269 !Config Key = lstardis … … 430 430 CALL getin('ok_guide',ok_guide) 431 431 432 c...............................................................432 ! ............................................................... 433 433 434 434 !Config Key = read_start … … 587 587 CALL getin('ok_etat0',ok_etat0) 588 588 589 !Config Key = grilles_gcm_netcdf 590 !Config Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit 591 !Config Def = n 592 grilles_gcm_netcdf = .FALSE. 593 CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf) 594 595 c---------------------------------------- 596 c Parameters for zonal averages in the case of Titan 589 !---------------------------------------- 590 ! Parameters for zonal averages in the case of Titan 597 591 moyzon_mu = .false. 598 592 moyzon_ch = .false. … … 601 595 CALL getin('moyzon_ch', moyzon_ch) 602 596 endif 603 c----------------------------------------604 605 c----------------------------------------606 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ...607 c......... ( modif le 17/04/96 ) .........608 c 609 CZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012)610 c 611 c----------------------------------------597 !---------------------------------------- 598 599 !---------------------------------------- 600 !cc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 601 ! ......... ( modif le 17/04/96 ) ......... 602 ! 603 ! ZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012) 604 ! 605 !---------------------------------------- 612 606 IF( etatinit ) then 613 607 … … 645 639 646 640 IF( grossismx.LT.1. ) THEN 647 write(lunout,*) 648 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** '641 write(lunout,*) & 642 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 649 643 STOP 650 644 ELSE … … 654 648 655 649 IF( grossismy.LT.1. ) THEN 656 write(lunout,*) 657 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** '650 write(lunout,*) & 651 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 658 652 STOP 659 653 ELSE … … 662 656 663 657 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 664 c 665 calphax et alphay sont les anciennes formulat. des grossissements666 c 667 c 658 ! 659 ! alphax et alphay sont les anciennes formulat. des grossissements 660 ! 661 ! 668 662 669 663 !Config Key = fxyhypb … … 737 731 c 738 732 IF( ABS(clat - clatt).GE. 0.001 ) THEN 739 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', 733 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', & 740 734 & ' est differente de celle lue sur le fichier start ' 741 735 STOP … … 752 746 753 747 IF( ABS(grossismx - grossismxx).GE. 0.001 ) THEN 754 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', 748 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', & 755 749 & 'run.def est differente de celle lue sur le fichier start ' 756 750 STOP … … 766 760 767 761 IF( ABS(grossismy - grossismyy).GE. 0.001 ) THEN 768 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', 762 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', & 769 763 & 'run.def est differente de celle lue sur le fichier start ' 770 764 STOP … … 772 766 773 767 IF( grossismx.LT.1. ) THEN 774 write(lunout,*) 768 write(lunout,*) & 775 769 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 776 770 STOP … … 781 775 782 776 IF( grossismy.LT.1. ) THEN 783 write(lunout,*) 777 write(lunout,*) & 784 778 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 785 779 STOP … … 789 783 790 784 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 791 c 792 calphax et alphay sont les anciennes formulat. des grossissements793 c 794 c 785 ! 786 ! alphax et alphay sont les anciennes formulat. des grossissements 787 ! 788 ! 795 789 796 790 !Config Key = fxyhypb … … 805 799 IF( fxyhypbb ) THEN 806 800 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 807 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 808 *'F alors qu il est T sur run.def ***'801 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', & 802 & 'F alors qu il est T sur run.def ***' 809 803 STOP 810 804 ENDIF … … 812 806 IF( .NOT.fxyhypbb ) THEN 813 807 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 814 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 815 *'T alors qu il est F sur run.def **** '808 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', & 809 & 'T alors qu il est F sur run.def **** ' 816 810 STOP 817 811 ENDIF 818 812 ENDIF 819 c 813 ! 820 814 !Config Key = dzoomx 821 815 !Config Desc = extension en longitude … … 828 822 IF( fxyhypb ) THEN 829 823 IF( ABS(dzoomx - dzoomxx).GE. 0.001 ) THEN 830 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', 831 *'run.def est differente de celle lue sur le fichier start '824 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', & 825 & 'run.def est differente de celle lue sur le fichier start ' 832 826 STOP 833 827 ENDIF … … 844 838 IF( fxyhypb ) THEN 845 839 IF( ABS(dzoomy - dzoomyy).GE. 0.001 ) THEN 846 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', 847 *'run.def est differente de celle lue sur le fichier start '840 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', & 841 & 'run.def est differente de celle lue sur le fichier start ' 848 842 STOP 849 843 ENDIF … … 859 853 IF( fxyhypb ) THEN 860 854 IF( ABS(taux - tauxx).GE. 0.001 ) THEN 861 write(lunout,*)'conf_gcm: La valeur de taux passee par ', 862 *'run.def est differente de celle lue sur le fichier start '855 write(lunout,*)'conf_gcm: La valeur de taux passee par ', & 856 & 'run.def est differente de celle lue sur le fichier start ' 863 857 STOP 864 858 ENDIF … … 874 868 IF( fxyhypb ) THEN 875 869 IF( ABS(tauy - tauyy).GE. 0.001 ) THEN 876 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', 877 *'run.def est differente de celle lue sur le fichier start '870 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', & 871 & 'run.def est differente de celle lue sur le fichier start ' 878 872 STOP 879 873 ENDIF … … 895 889 IF( ysinuss ) THEN 896 890 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 897 write(lunout,*)' *** ysinus lu sur le fichier start est F', 898 *' alors qu il est T sur run.def ***'891 write(lunout,*)' *** ysinus lu sur le fichier start est F', & 892 & ' alors qu il est T sur run.def ***' 899 893 STOP 900 894 ENDIF … … 902 896 IF( .NOT.ysinuss ) THEN 903 897 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 904 write(lunout,*)' *** ysinus lu sur le fichier start est T', 905 *' alors qu il est F sur run.def **** '898 write(lunout,*)' *** ysinus lu sur le fichier start est T', & 899 & ' alors qu il est F sur run.def **** ' 906 900 STOP 907 901 ENDIF … … 910 904 911 905 endif ! etatinit 912 c----------------------------------------906 !---------------------------------------- 913 907 914 908 … … 962 956 write(lunout,*)' ok_limit = ', ok_limit 963 957 write(lunout,*)' ok_etat0 = ', ok_etat0 964 write(lunout,*)' grilles_gcm_netcdf = ', grilles_gcm_netcdf965 958 if (planet_type=="titan") then 966 959 write(lunout,*)' moyzon_mu = ', moyzon_mu
Note: See TracChangeset
for help on using the changeset viewer.