Changeset 617 for trunk/LMDZ.COMMON/libf
- Timestamp:
- Apr 12, 2012, 5:35:34 PM (13 years ago)
- Location:
- trunk/LMDZ.COMMON/libf
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F
r495 r617 34 34 #include "serre.h" 35 35 #include "comdissnew.h" 36 #include "iniprint.h" 36 37 #include "temps.h" 37 38 #include "comconst.h" … … 39 40 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 40 41 ! #include "clesphys.h" 41 #include "iniprint.h"42 42 c 43 43 c … … 410 410 CALL getin('ip_ebil_dyn',ip_ebil_dyn) 411 411 412 !Config Key = offline 413 !Config Desc = Nouvelle eau liquide 414 !Config Def = n 415 !Config Help = Permet de mettre en route la 416 !Config nouvelle parametrisation de l'eau liquide ! 417 offline = .FALSE. 418 CALL getin('offline',offline) 419 420 !Config Key = type_trac 421 !Config Desc = Choix de couplage avec model de chimie INCA ou REPROBUS 422 !Config Def = lmdz 423 !Config Help = 424 !Config 'lmdz' = pas de couplage, pur LMDZ 425 !Config 'inca' = model de chime INCA 426 !Config 'repr' = model de chime REPROBUS 427 type_trac = 'lmdz' 428 CALL getin('type_trac',type_trac) 429 430 !Config Key = config_inca 431 !Config Desc = Choix de configuration de INCA 432 !Config Def = none 433 !Config Help = Choix de configuration de INCA : 434 !Config 'none' = sans INCA 435 !Config 'chem' = INCA avec calcul de chemie 436 !Config 'aero' = INCA avec calcul des aerosols 437 config_inca = 'none' 438 CALL getin('config_inca',config_inca) 439 440 !Config Key = ok_dynzon 441 !Config Desc = calcul et sortie des transports 442 !Config Def = n 443 !Config Help = Permet de mettre en route le calcul des transports 444 !Config 445 ok_dynzon = .FALSE. 446 CALL getin('ok_dynzon',ok_dynzon) 447 448 !Config Key = ok_dyn_ins 449 !Config Desc = sorties instantanees dans la dynamique 450 !Config Def = n 451 !Config Help = 452 !Config 453 ok_dyn_ins = .FALSE. 454 CALL getin('ok_dyn_ins',ok_dyn_ins) 455 456 !Config Key = ok_dyn_ave 457 !Config Desc = sorties moyennes dans la dynamique 458 !Config Def = n 459 !Config Help = 460 !Config 461 ok_dyn_ave = .FALSE. 462 CALL getin('ok_dyn_ave',ok_dyn_ave) 463 464 !Config Key = use_filtre_fft 465 !Config Desc = flag d'activation des FFT pour le filtre 466 !Config Def = false 467 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 468 !Config le filtrage aux poles. 469 ! Le filtre fft n'est pas implemente dans dyn3d 470 use_filtre_fft=.FALSE. 471 CALL getin('use_filtre_fft',use_filtre_fft) 472 473 IF (use_filtre_fft) THEN 474 write(lunout,*)'STOP !!!' 475 write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d' 476 STOP 477 ENDIF 478 479 !Config key = ok_strato 480 !Config Desc = activation de la version strato 481 !Config Def = .FALSE. 482 !Config Help = active la version stratosphérique de LMDZ de F. Lott 483 484 ok_strato=.TRUE. 485 CALL getin('ok_strato',ok_strato) 486 487 !Config Key = ok_gradsfile 488 !Config Desc = activation des sorties grads du guidage 489 !Config Def = n 490 !Config Help = active les sorties grads du guidage 491 492 ok_gradsfile = .FALSE. 493 CALL getin('ok_gradsfile',ok_gradsfile) 494 495 !Config Key = ok_limit 496 !Config Desc = creation des fichiers limit dans create_etat0_limit 497 !Config Def = y 498 !Config Help = production du fichier limit.nc requise 499 500 ok_limit = .TRUE. 501 CALL getin('ok_limit',ok_limit) 502 503 !Config Key = ok_etat0 504 !Config Desc = creation des fichiers etat0 dans create_etat0_limit 505 !Config Def = y 506 !Config Help = production des fichiers start.nc, startphy.nc requise 507 508 ok_etat0 = .TRUE. 509 CALL getin('ok_etat0',ok_etat0) 510 511 !Config Key = grilles_gcm_netcdf 512 !Config Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit 513 !Config Def = n 514 grilles_gcm_netcdf = .FALSE. 515 CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf) 516 517 c---------------------------------------- 412 518 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 413 519 c ......... ( modif le 17/04/96 ) ......... 414 520 c 415 IF( etatinit ) GO TO 100 521 C ZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012) 522 c 523 c---------------------------------------- 524 IF( etatinit ) then 525 526 !Config Key = clon 527 !Config Desc = centre du zoom, longitude 528 !Config Def = 0 529 !Config Help = longitude en degres du centre 530 !Config du zoom 531 clon = 0. 532 CALL getin('clon',clon) 533 534 !Config Key = clat 535 !Config Desc = centre du zoom, latitude 536 !Config Def = 0 537 !Config Help = latitude en degres du centre du zoom 538 !Config 539 clat = 0. 540 CALL getin('clat',clat) 541 542 !Config Key = grossismx 543 !Config Desc = zoom en longitude 544 !Config Def = 1.0 545 !Config Help = facteur de grossissement du zoom, 546 !Config selon la longitude 547 grossismx = 1.0 548 CALL getin('grossismx',grossismx) 549 550 !Config Key = grossismy 551 !Config Desc = zoom en latitude 552 !Config Def = 1.0 553 !Config Help = facteur de grossissement du zoom, 554 !Config selon la latitude 555 grossismy = 1.0 556 CALL getin('grossismy',grossismy) 557 558 IF( grossismx.LT.1. ) THEN 559 write(lunout,*) 560 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 561 STOP 562 ELSE 563 alphax = 1. - 1./ grossismx 564 ENDIF 565 566 567 IF( grossismy.LT.1. ) THEN 568 write(lunout,*) 569 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 570 STOP 571 ELSE 572 alphay = 1. - 1./ grossismy 573 ENDIF 574 575 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 576 c 577 c alphax et alphay sont les anciennes formulat. des grossissements 578 c 579 c 580 581 !Config Key = fxyhypb 582 !Config Desc = Fonction hyperbolique 583 !Config Def = y 584 !Config Help = Fonction f(y) hyperbolique si = .true. 585 !Config sinon sinusoidale 586 fxyhypb = .TRUE. 587 CALL getin('fxyhypb',fxyhypb) 588 589 !Config Key = dzoomx 590 !Config Desc = extension en longitude 591 !Config Def = 0 592 !Config Help = extension en longitude de la zone du zoom 593 !Config ( fraction de la zone totale) 594 dzoomx = 0.0 595 CALL getin('dzoomx',dzoomx) 596 597 !Config Key = dzoomy 598 !Config Desc = extension en latitude 599 !Config Def = 0 600 !Config Help = extension en latitude de la zone du zoom 601 !Config ( fraction de la zone totale) 602 dzoomy = 0.0 603 CALL getin('dzoomy',dzoomy) 604 605 !Config Key = taux 606 !Config Desc = raideur du zoom en X 607 !Config Def = 3 608 !Config Help = raideur du zoom en X 609 taux = 3.0 610 CALL getin('taux',taux) 611 612 !Config Key = tauy 613 !Config Desc = raideur du zoom en Y 614 !Config Def = 3 615 !Config Help = raideur du zoom en Y 616 tauy = 3.0 617 CALL getin('tauy',tauy) 618 619 !Config Key = ysinus 620 !Config IF = !fxyhypb 621 !Config Desc = Fonction en Sinus 622 !Config Def = y 623 !Config Help = Fonction f(y) avec y = Sin(latit.) si = .true. 624 !Config sinon y = latit. 625 ysinus = .TRUE. 626 CALL getin('ysinus',ysinus) 627 c 628 c---------------------------------------- 629 else ! etatinit=false 630 c---------------------------------------- 416 631 417 632 !Config Key = clon … … 605 820 ENDIF 606 821 ENDIF ! of IF( .NOT.fxyhypb ) 607 c 608 !Config Key = offline 609 !Config Desc = Nouvelle eau liquide 610 !Config Def = n 611 !Config Help = Permet de mettre en route la 612 !Config nouvelle parametrisation de l'eau liquide ! 613 offline = .FALSE. 614 CALL getin('offline',offline) 615 616 !Config Key = type_trac 617 !Config Desc = Choix de couplage avec model de chimie INCA ou REPROBUS 618 !Config Def = lmdz 619 !Config Help = 620 !Config 'lmdz' = pas de couplage, pur LMDZ 621 !Config 'inca' = model de chime INCA 622 !Config 'repr' = model de chime REPROBUS 623 type_trac = 'lmdz' 624 CALL getin('type_trac',type_trac) 625 626 !Config Key = config_inca 627 !Config Desc = Choix de configuration de INCA 628 !Config Def = none 629 !Config Help = Choix de configuration de INCA : 630 !Config 'none' = sans INCA 631 !Config 'chem' = INCA avec calcul de chemie 632 !Config 'aero' = INCA avec calcul des aerosols 633 config_inca = 'none' 634 CALL getin('config_inca',config_inca) 635 636 !Config Key = ok_dynzon 637 !Config Desc = calcul et sortie des transports 638 !Config Def = n 639 !Config Help = Permet de mettre en route le calcul des transports 640 !Config 641 ok_dynzon = .FALSE. 642 CALL getin('ok_dynzon',ok_dynzon) 643 644 !Config Key = ok_dyn_ins 645 !Config Desc = sorties instantanees dans la dynamique 646 !Config Def = n 647 !Config Help = 648 !Config 649 ok_dyn_ins = .FALSE. 650 CALL getin('ok_dyn_ins',ok_dyn_ins) 651 652 !Config Key = ok_dyn_ave 653 !Config Desc = sorties moyennes dans la dynamique 654 !Config Def = n 655 !Config Help = 656 !Config 657 ok_dyn_ave = .FALSE. 658 CALL getin('ok_dyn_ave',ok_dyn_ave) 822 823 endif ! etatinit 824 c---------------------------------------- 659 825 660 826 661 827 write(lunout,*)' #########################################' 662 write(lunout,*)' Configuration des parametres du gcm: ' 663 write(lunout,*)' planet_type = ', planet_type 664 write(lunout,*)' calend = ', calend 665 write(lunout,*)' dayref = ', dayref 666 write(lunout,*)' anneeref = ', anneeref 667 write(lunout,*)' nday = ', nday 668 if (less1day) then 669 write(lunout,*)' Run only for a fraction of day ! ' 670 write(lunout,*)' fractday = ', fractday 671 endif 672 write(lunout,*)' day_step = ', day_step 673 write(lunout,*)' iperiod = ', iperiod 674 write(lunout,*)' iconser = ', iconser 675 write(lunout,*)' iecri = ', iecri 676 write(lunout,*)' periodav = ', periodav 677 write(lunout,*)' output_grads_dyn = ', output_grads_dyn 678 write(lunout,*)' dissip_period = ', dissip_period 679 write(lunout,*)' lstardis = ', lstardis 680 write(lunout,*)' nitergdiv = ', nitergdiv 681 write(lunout,*)' nitergrot = ', nitergrot 682 write(lunout,*)' niterh = ', niterh 683 write(lunout,*)' tetagdiv = ', tetagdiv 684 write(lunout,*)' tetagrot = ', tetagrot 685 write(lunout,*)' tetatemp = ', tetatemp 686 write(lunout,*)' coefdis = ', coefdis 687 write(lunout,*)' purmats = ', purmats 688 write(lunout,*)' read_start = ', read_start 689 write(lunout,*)' iflag_phys = ', iflag_phys 690 write(lunout,*)' iphysiq = ', iphysiq 691 write(lunout,*)' iflag_trac = ', iflag_trac 692 write(lunout,*)' clonn = ', clonn 693 write(lunout,*)' clatt = ', clatt 694 write(lunout,*)' grossismx = ', grossismx 695 write(lunout,*)' grossismy = ', grossismy 696 write(lunout,*)' fxyhypbb = ', fxyhypbb 697 write(lunout,*)' dzoomxx = ', dzoomxx 698 write(lunout,*)' dzoomy = ', dzoomyy 699 write(lunout,*)' tauxx = ', tauxx 700 write(lunout,*)' tauyy = ', tauyy 701 write(lunout,*)' offline = ', offline 702 write(lunout,*)' type_trac = ', type_trac 703 write(lunout,*)' config_inca = ', config_inca 704 write(lunout,*)' ok_dynzon = ', ok_dynzon 705 write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 706 write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave 707 708 RETURN 709 c ............................................... 710 c 711 100 CONTINUE 712 !Config Key = clon 713 !Config Desc = centre du zoom, longitude 714 !Config Def = 0 715 !Config Help = longitude en degres du centre 716 !Config du zoom 717 clon = 0. 718 CALL getin('clon',clon) 719 720 !Config Key = clat 721 !Config Desc = centre du zoom, latitude 722 !Config Def = 0 723 !Config Help = latitude en degres du centre du zoom 724 !Config 725 clat = 0. 726 CALL getin('clat',clat) 727 728 !Config Key = grossismx 729 !Config Desc = zoom en longitude 730 !Config Def = 1.0 731 !Config Help = facteur de grossissement du zoom, 732 !Config selon la longitude 733 grossismx = 1.0 734 CALL getin('grossismx',grossismx) 735 736 !Config Key = grossismy 737 !Config Desc = zoom en latitude 738 !Config Def = 1.0 739 !Config Help = facteur de grossissement du zoom, 740 !Config selon la latitude 741 grossismy = 1.0 742 CALL getin('grossismy',grossismy) 743 744 IF( grossismx.LT.1. ) THEN 745 write(lunout,*) 746 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 747 STOP 748 ELSE 749 alphax = 1. - 1./ grossismx 750 ENDIF 751 752 753 IF( grossismy.LT.1. ) THEN 754 write(lunout,*) 755 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 756 STOP 757 ELSE 758 alphay = 1. - 1./ grossismy 759 ENDIF 760 761 write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay 762 c 763 c alphax et alphay sont les anciennes formulat. des grossissements 764 c 765 c 766 767 !Config Key = fxyhypb 768 !Config Desc = Fonction hyperbolique 769 !Config Def = y 770 !Config Help = Fonction f(y) hyperbolique si = .true. 771 !Config sinon sinusoidale 772 fxyhypb = .TRUE. 773 CALL getin('fxyhypb',fxyhypb) 774 775 !Config Key = dzoomx 776 !Config Desc = extension en longitude 777 !Config Def = 0 778 !Config Help = extension en longitude de la zone du zoom 779 !Config ( fraction de la zone totale) 780 dzoomx = 0.0 781 CALL getin('dzoomx',dzoomx) 782 783 !Config Key = dzoomy 784 !Config Desc = extension en latitude 785 !Config Def = 0 786 !Config Help = extension en latitude de la zone du zoom 787 !Config ( fraction de la zone totale) 788 dzoomy = 0.0 789 CALL getin('dzoomy',dzoomy) 790 791 !Config Key = taux 792 !Config Desc = raideur du zoom en X 793 !Config Def = 3 794 !Config Help = raideur du zoom en X 795 taux = 3.0 796 CALL getin('taux',taux) 797 798 !Config Key = tauy 799 !Config Desc = raideur du zoom en Y 800 !Config Def = 3 801 !Config Help = raideur du zoom en Y 802 tauy = 3.0 803 CALL getin('tauy',tauy) 804 805 !Config Key = ysinus 806 !Config IF = !fxyhypb 807 !Config Desc = Fonction en Sinus 808 !Config Def = y 809 !Config Help = Fonction f(y) avec y = Sin(latit.) si = .true. 810 !Config sinon y = latit. 811 ysinus = .TRUE. 812 CALL getin('ysinus',ysinus) 813 c 814 !Config Key = offline 815 !Config Desc = Nouvelle eau liquide 816 !Config Def = n 817 !Config Help = Permet de mettre en route la 818 !Config nouvelle parametrisation de l'eau liquide ! 819 offline = .FALSE. 820 CALL getin('offline',offline) 821 822 !Config Key = type_trac 823 !Config Desc = Choix de couplage avec model de chimie INCA ou REPROBUS 824 !Config Def = lmdz 825 !Config Help = 826 !Config 'lmdz' = pas de couplage, pur LMDZ 827 !Config 'inca' = model de chime INCA 828 !Config 'repr' = model de chime REPROBUS 829 type_trac = 'lmdz' 830 CALL getin('type_trac',type_trac) 831 832 !Config Key = config_inca 833 !Config Desc = Choix de configuration de INCA 834 !Config Def = none 835 !Config Help = Choix de configuration de INCA : 836 !Config 'none' = sans INCA 837 !Config 'chem' = INCA avec calcul de chemie 838 !Config 'aero' = INCA avec calcul des aerosols 839 config_inca = 'none' 840 CALL getin('config_inca',config_inca) 841 842 !Config Key = ok_dynzon 843 !Config Desc = sortie des transports zonaux dans la dynamique 844 !Config Def = n 845 !Config Help = 846 !Config 847 ok_dynzon = .FALSE. 848 CALL getin('ok_dynzon',ok_dynzon) 849 850 !Config Key = ok_dyn_ins 851 !Config Desc = sorties instantanees dans la dynamique 852 !Config Def = n 853 !Config Help = 854 !Config 855 ok_dyn_ins = .FALSE. 856 CALL getin('ok_dyn_ins',ok_dyn_ins) 857 858 !Config Key = ok_dyn_ave 859 !Config Desc = sorties moyennes dans la dynamique 860 !Config Def = n 861 !Config Help = 862 !Config 863 ok_dyn_ave = .FALSE. 864 CALL getin('ok_dyn_ave',ok_dyn_ave) 865 866 !Config Key = use_filtre_fft 867 !Config Desc = flag d'activation des FFT pour le filtre 868 !Config Def = false 869 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 870 !Config le filtrage aux poles. 871 ! Le filtre fft n'est pas implemente dans dyn3d 872 use_filtre_fft=.FALSE. 873 CALL getin('use_filtre_fft',use_filtre_fft) 874 875 IF (use_filtre_fft) THEN 876 write(lunout,*)'STOP !!!' 877 write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d' 878 STOP 879 ENDIF 880 881 !Config key = ok_strato 882 !Config Desc = activation de la version strato 883 !Config Def = .FALSE. 884 !Config Help = active la version stratosphérique de LMDZ de F. Lott 885 886 ok_strato=.TRUE. 887 CALL getin('ok_strato',ok_strato) 888 889 !Config Key = ok_gradsfile 890 !Config Desc = activation des sorties grads du guidage 891 !Config Def = n 892 !Config Help = active les sorties grads du guidage 893 894 ok_gradsfile = .FALSE. 895 CALL getin('ok_gradsfile',ok_gradsfile) 896 897 !Config Key = ok_limit 898 !Config Desc = creation des fichiers limit dans create_etat0_limit 899 !Config Def = y 900 !Config Help = production du fichier limit.nc requise 901 902 ok_limit = .TRUE. 903 CALL getin('ok_limit',ok_limit) 904 905 !Config Key = ok_etat0 906 !Config Desc = creation des fichiers etat0 dans create_etat0_limit 907 !Config Def = y 908 !Config Help = production des fichiers start.nc, startphy.nc requise 909 910 ok_etat0 = .TRUE. 911 CALL getin('ok_etat0',ok_etat0) 912 913 !Config Key = grilles_gcm_netcdf 914 !Config Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit 915 !Config Def = n 916 grilles_gcm_netcdf = .FALSE. 917 CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf) 918 919 write(lunout,*)' #########################################' 920 write(lunout,*)' Configuration des parametres de cel0' 921 & //'_limit: ' 828 write(lunout,*)' Configuration des parametres lus via run.def ' 922 829 write(lunout,*)' planet_type = ', planet_type 923 830 write(lunout,*)' calend = ', calend -
trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F
r495 r617 38 38 #include "serre.h" 39 39 #include "comdissnew.h" 40 !#include "clesphys.h"41 40 #include "iniprint.h" 42 41 #include "temps.h" … … 44 43 45 44 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 45 ! #include "clesphys.h" 46 46 c 47 47 c … … 201 201 202 202 !Config Key = nsplit_phys 203 !Config Desc = nombre d'iteration de la physique 204 !Config Def = 240 205 !Config Help = nombre d'itration de la physique 206 ! 203 !Config Desc = nombre de subdivisions par pas physique 204 !Config Def = 1 205 !Config Help = nombre de subdivisions par pas physique 207 206 nsplit_phys = 1 208 207 CALL getin('nsplit_phys',nsplit_phys) … … 422 421 ip_ebil_dyn = 0 423 422 CALL getin('ip_ebil_dyn',ip_ebil_dyn) 424 ! 425 426 427 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 428 c ......... ( modif le 17/04/96 ) ......... 429 c 430 IF( etatinit ) GO TO 100 431 432 !Config Key = clon 433 !Config Desc = centre du zoom, longitude 434 !Config Def = 0 435 !Config Help = longitude en degres du centre 436 !Config du zoom 437 clonn = 0. 438 CALL getin('clon',clonn) 439 440 !Config Key = clat 441 !Config Desc = centre du zoom, latitude 442 !Config Def = 0 443 !Config Help = latitude en degres du centre du zoom 444 !Config 445 clatt = 0. 446 CALL getin('clat',clatt) 447 448 c 449 c 450 IF( ABS(clat - clatt).GE. 0.001 ) THEN 451 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', 452 & ' est differente de celle lue sur le fichier start ' 453 STOP 454 ENDIF 455 456 !Config Key = grossismx 457 !Config Desc = zoom en longitude 458 !Config Def = 1.0 459 !Config Help = facteur de grossissement du zoom, 460 !Config selon la longitude 461 grossismxx = 1.0 462 CALL getin('grossismx',grossismxx) 463 464 465 IF( ABS(grossismx - grossismxx).GE. 0.001 ) THEN 466 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', 467 & 'run.def est differente de celle lue sur le fichier start ' 468 STOP 469 ENDIF 470 471 !Config Key = grossismy 472 !Config Desc = zoom en latitude 473 !Config Def = 1.0 474 !Config Help = facteur de grossissement du zoom, 475 !Config selon la latitude 476 grossismyy = 1.0 477 CALL getin('grossismy',grossismyy) 478 479 IF( ABS(grossismy - grossismyy).GE. 0.001 ) THEN 480 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', 481 & 'run.def est differente de celle lue sur le fichier start ' 482 STOP 483 ENDIF 484 485 IF( grossismx.LT.1. ) THEN 486 write(lunout,*) 487 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 488 STOP 489 ELSE 490 alphax = 1. - 1./ grossismx 491 ENDIF 492 493 494 IF( grossismy.LT.1. ) THEN 495 write(lunout,*) 496 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 497 STOP 498 ELSE 499 alphay = 1. - 1./ grossismy 500 ENDIF 501 502 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 503 c 504 c alphax et alphay sont les anciennes formulat. des grossissements 505 c 506 c 507 508 !Config Key = fxyhypb 509 !Config Desc = Fonction hyperbolique 510 !Config Def = y 511 !Config Help = Fonction f(y) hyperbolique si = .true. 512 !Config sinon sinusoidale 513 fxyhypbb = .TRUE. 514 CALL getin('fxyhypb',fxyhypbb) 515 516 IF( .NOT.fxyhypb ) THEN 517 IF( fxyhypbb ) THEN 518 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 519 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 520 * 'F alors qu il est T sur run.def ***' 521 STOP 522 ENDIF 523 ELSE 524 IF( .NOT.fxyhypbb ) THEN 525 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 526 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 527 * 'T alors qu il est F sur run.def **** ' 528 STOP 529 ENDIF 530 ENDIF 531 c 532 !Config Key = dzoomx 533 !Config Desc = extension en longitude 534 !Config Def = 0 535 !Config Help = extension en longitude de la zone du zoom 536 !Config ( fraction de la zone totale) 537 dzoomxx = 0.0 538 CALL getin('dzoomx',dzoomxx) 539 540 IF( fxyhypb ) THEN 541 IF( ABS(dzoomx - dzoomxx).GE. 0.001 ) THEN 542 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', 543 * 'run.def est differente de celle lue sur le fichier start ' 544 STOP 545 ENDIF 546 ENDIF 547 548 !Config Key = dzoomy 549 !Config Desc = extension en latitude 550 !Config Def = 0 551 !Config Help = extension en latitude de la zone du zoom 552 !Config ( fraction de la zone totale) 553 dzoomyy = 0.0 554 CALL getin('dzoomy',dzoomyy) 555 556 IF( fxyhypb ) THEN 557 IF( ABS(dzoomy - dzoomyy).GE. 0.001 ) THEN 558 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', 559 * 'run.def est differente de celle lue sur le fichier start ' 560 STOP 561 ENDIF 562 ENDIF 563 564 !Config Key = taux 565 !Config Desc = raideur du zoom en X 566 !Config Def = 3 567 !Config Help = raideur du zoom en X 568 tauxx = 3.0 569 CALL getin('taux',tauxx) 570 571 IF( fxyhypb ) THEN 572 IF( ABS(taux - tauxx).GE. 0.001 ) THEN 573 write(lunout,*)'conf_gcm: La valeur de taux passee par ', 574 * 'run.def est differente de celle lue sur le fichier start ' 575 STOP 576 ENDIF 577 ENDIF 578 579 !Config Key = tauyy 580 !Config Desc = raideur du zoom en Y 581 !Config Def = 3 582 !Config Help = raideur du zoom en Y 583 tauyy = 3.0 584 CALL getin('tauy',tauyy) 585 586 IF( fxyhypb ) THEN 587 IF( ABS(tauy - tauyy).GE. 0.001 ) THEN 588 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', 589 * 'run.def est differente de celle lue sur le fichier start ' 590 STOP 591 ENDIF 592 ENDIF 593 594 cc 595 IF( .NOT.fxyhypb ) THEN 596 597 !Config Key = ysinus 598 !Config IF = !fxyhypb 599 !Config Desc = Fonction en Sinus 600 !Config Def = y 601 !Config Help = Fonction f(y) avec y = Sin(latit.) si = .true. 602 !Config sinon y = latit. 603 ysinuss = .TRUE. 604 CALL getin('ysinus',ysinuss) 605 606 IF( .NOT.ysinus ) THEN 607 IF( ysinuss ) THEN 608 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 609 write(lunout,*)' *** ysinus lu sur le fichier start est F', 610 * ' alors qu il est T sur run.def ***' 611 STOP 612 ENDIF 613 ELSE 614 IF( .NOT.ysinuss ) THEN 615 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 616 write(lunout,*)' *** ysinus lu sur le fichier start est T', 617 * ' alors qu il est F sur run.def **** ' 618 STOP 619 ENDIF 620 ENDIF 621 ENDIF ! of IF( .NOT.fxyhypb ) 622 c 423 623 424 !Config Key = offline 624 425 !Config Desc = Nouvelle eau liquide … … 681 482 CALL getin('ok_dyn_ave',ok_dyn_ave) 682 483 683 write(lunout,*)' #########################################' 684 write(lunout,*)' Configuration des parametres du gcm: ' 685 write(lunout,*)' planet_type = ', planet_type 686 write(lunout,*)' calend = ', calend 687 write(lunout,*)' dayref = ', dayref 688 write(lunout,*)' anneeref = ', anneeref 689 write(lunout,*)' nday = ', nday 690 if (less1day) then 691 write(lunout,*)' Run only for a fraction of day ! ' 692 write(lunout,*)' fractday = ', fractday 693 endif 694 write(lunout,*)' day_step = ', day_step 695 write(lunout,*)' iperiod = ', iperiod 696 write(lunout,*)' nsplit_phys = ', nsplit_phys 697 write(lunout,*)' iconser = ', iconser 698 write(lunout,*)' iecri = ', iecri 699 write(lunout,*)' periodav = ', periodav 700 write(lunout,*)' output_grads_dyn = ', output_grads_dyn 701 write(lunout,*)' dissip_period = ', dissip_period 702 write(lunout,*)' lstardis = ', lstardis 703 write(lunout,*)' nitergdiv = ', nitergdiv 704 write(lunout,*)' nitergrot = ', nitergrot 705 write(lunout,*)' niterh = ', niterh 706 write(lunout,*)' tetagdiv = ', tetagdiv 707 write(lunout,*)' tetagrot = ', tetagrot 708 write(lunout,*)' tetatemp = ', tetatemp 709 write(lunout,*)' coefdis = ', coefdis 710 write(lunout,*)' purmats = ', purmats 711 write(lunout,*)' read_start = ', read_start 712 write(lunout,*)' iflag_phys = ', iflag_phys 713 write(lunout,*)' iphysiq = ', iphysiq 714 write(lunout,*)' iflag_trac = ', iflag_trac 715 write(lunout,*)' clonn = ', clonn 716 write(lunout,*)' clatt = ', clatt 717 write(lunout,*)' grossismx = ', grossismx 718 write(lunout,*)' grossismy = ', grossismy 719 write(lunout,*)' fxyhypbb = ', fxyhypbb 720 write(lunout,*)' dzoomxx = ', dzoomxx 721 write(lunout,*)' dzoomy = ', dzoomyy 722 write(lunout,*)' tauxx = ', tauxx 723 write(lunout,*)' tauyy = ', tauyy 724 write(lunout,*)' offline = ', offline 725 write(lunout,*)' type_trac = ', type_trac 726 write(lunout,*)' config_inca = ', config_inca 727 write(lunout,*)' ok_dynzon = ', ok_dynzon 728 write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 729 write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave 730 731 RETURN 732 c ............................................... 733 c 734 100 CONTINUE 484 !Config Key = use_filtre_fft 485 !Config Desc = flag d'activation des FFT pour le filtre 486 !Config Def = false 487 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 488 !Config le filtrage aux poles. 489 use_filtre_fft=.FALSE. 490 CALL getin('use_filtre_fft',use_filtre_fft) 491 492 IF (use_filtre_fft .AND. grossismx /= 1.0) THEN 493 write(lunout,*)'WARNING !!! ' 494 write(lunout,*)"Le zoom en longitude est incompatible", 495 & " avec l'utilisation du filtre FFT ", 496 & "---> filtre FFT désactivé " 497 use_filtre_fft=.FALSE. 498 ENDIF 499 500 !Config Key = use_mpi_alloc 501 !Config Desc = Utilise un buffer MPI en memoire globale 502 !Config Def = false 503 !Config Help = permet d'activer l'utilisation d'un buffer MPI 504 !Config en memoire globale a l'aide de la fonction MPI_ALLOC. 505 !Config Cela peut ameliorer la bande passante des transferts MPI 506 !Config d'un facteur 2 507 use_mpi_alloc=.FALSE. 508 CALL getin('use_mpi_alloc',use_mpi_alloc) 509 510 !Config Key = omp_chunk 511 !Config Desc = taille des blocs openmp 512 !Config Def = 1 513 !Config Help = defini la taille des packets d'iteration openmp 514 !Config distribuee a chaque tache lors de l'entree dans une 515 !Config boucle parallelisee 516 517 omp_chunk=1 518 CALL getin('omp_chunk',omp_chunk) 519 520 !Config key = ok_strato 521 !Config Desc = activation de la version strato 522 !Config Def = .FALSE. 523 !Config Help = active la version stratosphérique de LMDZ de F. Lott 524 525 ok_strato=.TRUE. 526 CALL getin('ok_strato',ok_strato) 527 528 !Config Key = ok_gradsfile 529 !Config Desc = activation des sorties grads du guidage 530 !Config Def = n 531 !Config Help = active les sorties grads du guidage 532 533 ok_gradsfile = .FALSE. 534 CALL getin('ok_gradsfile',ok_gradsfile) 535 536 !Config Key = ok_limit 537 !Config Desc = creation des fichiers limit dans create_etat0_limit 538 !Config Def = y 539 !Config Help = production du fichier limit.nc requise 540 541 ok_limit = .TRUE. 542 CALL getin('ok_limit',ok_limit) 543 544 !Config Key = ok_etat0 545 !Config Desc = creation des fichiers etat0 dans create_etat0_limit 546 !Config Def = y 547 !Config Help = production des fichiers start.nc, startphy.nc requise 548 549 ok_etat0 = .TRUE. 550 CALL getin('ok_etat0',ok_etat0) 551 552 !Config Key = grilles_gcm_netcdf 553 !Config Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit 554 !Config Def = n 555 grilles_gcm_netcdf = .FALSE. 556 CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf) 557 558 c---------------------------------------- 559 ccc .... P. Le Van , ajout le 7/03/95 .pour le zoom ... 560 c ......... ( modif le 17/04/96 ) ......... 561 c 562 C ZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012) 563 c 564 c---------------------------------------- 565 IF( etatinit ) then 566 735 567 !Config Key = clon 736 568 !Config Desc = centre du zoom, longitude … … 835 667 CALL getin('ysinus',ysinus) 836 668 c 837 !Config Key = offline 838 !Config Desc = Nouvelle eau liquide 839 !Config Def = n 840 !Config Help = Permet de mettre en route la 841 !Config nouvelle parametrisation de l'eau liquide ! 842 offline = .FALSE. 843 CALL getin('offline',offline) 844 IF (offline .AND. adjust) THEN 845 WRITE(lunout,*) 846 & 'WARNING : option offline does not work with adjust=y :' 847 WRITE(lunout,*) 'the files defstoke.nc, fluxstoke.nc ', 848 & 'and fluxstokev.nc will not be created' 849 WRITE(lunout,*) 850 & 'only the file phystoke.nc will still be created ' 851 END IF 852 853 !Config Key = type_trac 854 !Config Desc = Choix de couplage avec model de chimie INCA ou REPROBUS 855 !Config Def = lmdz 856 !Config Help = 857 !Config 'lmdz' = pas de couplage, pur LMDZ 858 !Config 'inca' = model de chime INCA 859 !Config 'repr' = model de chime REPROBUS 860 type_trac = 'lmdz' 861 CALL getin('type_trac',type_trac) 862 863 !Config Key = config_inca 864 !Config Desc = Choix de configuration de INCA 865 !Config Def = none 866 !Config Help = Choix de configuration de INCA : 867 !Config 'none' = sans INCA 868 !Config 'chem' = INCA avec calcul de chemie 869 !Config 'aero' = INCA avec calcul des aerosols 870 config_inca = 'none' 871 CALL getin('config_inca',config_inca) 872 873 !Config Key = ok_dynzon 874 !Config Desc = calcul et sortie des transports 875 !Config Def = n 876 !Config Help = Permet de mettre en route le calcul des transports 877 !Config 878 ok_dynzon = .FALSE. 879 CALL getin('ok_dynzon',ok_dynzon) 880 881 !Config Key = ok_dyn_ins 882 !Config Desc = sorties instantanees dans la dynamique 883 !Config Def = n 884 !Config Help = 885 !Config 886 ok_dyn_ins = .FALSE. 887 CALL getin('ok_dyn_ins',ok_dyn_ins) 888 889 !Config Key = ok_dyn_ave 890 !Config Desc = sorties moyennes dans la dynamique 891 !Config Def = n 892 !Config Help = 893 !Config 894 ok_dyn_ave = .FALSE. 895 CALL getin('ok_dyn_ave',ok_dyn_ave) 896 897 !Config Key = use_filtre_fft 898 !Config Desc = flag d'activation des FFT pour le filtre 899 !Config Def = false 900 !Config Help = permet d'activer l'utilisation des FFT pour effectuer 901 !Config le filtrage aux poles. 902 use_filtre_fft=.FALSE. 903 CALL getin('use_filtre_fft',use_filtre_fft) 904 905 IF (use_filtre_fft .AND. grossismx /= 1.0) THEN 906 write(lunout,*)'WARNING !!! ' 907 write(lunout,*)"Le zoom en longitude est incompatible", 908 & " avec l'utilisation du filtre FFT ", 909 & "---> filtre FFT désactivé " 910 use_filtre_fft=.FALSE. 669 c---------------------------------------- 670 else ! etatinit=false 671 c---------------------------------------- 672 673 !Config Key = clon 674 !Config Desc = centre du zoom, longitude 675 !Config Def = 0 676 !Config Help = longitude en degres du centre 677 !Config du zoom 678 clonn = 0. 679 CALL getin('clon',clonn) 680 681 !Config Key = clat 682 !Config Desc = centre du zoom, latitude 683 !Config Def = 0 684 !Config Help = latitude en degres du centre du zoom 685 !Config 686 clatt = 0. 687 CALL getin('clat',clatt) 688 689 c 690 c 691 IF( ABS(clat - clatt).GE. 0.001 ) THEN 692 write(lunout,*)'conf_gcm: La valeur de clat passee par run.def', 693 & ' est differente de celle lue sur le fichier start ' 694 STOP 695 ENDIF 696 697 !Config Key = grossismx 698 !Config Desc = zoom en longitude 699 !Config Def = 1.0 700 !Config Help = facteur de grossissement du zoom, 701 !Config selon la longitude 702 grossismxx = 1.0 703 CALL getin('grossismx',grossismxx) 704 705 706 IF( ABS(grossismx - grossismxx).GE. 0.001 ) THEN 707 write(lunout,*)'conf_gcm: La valeur de grossismx passee par ', 708 & 'run.def est differente de celle lue sur le fichier start ' 709 STOP 710 ENDIF 711 712 !Config Key = grossismy 713 !Config Desc = zoom en latitude 714 !Config Def = 1.0 715 !Config Help = facteur de grossissement du zoom, 716 !Config selon la latitude 717 grossismyy = 1.0 718 CALL getin('grossismy',grossismyy) 719 720 IF( ABS(grossismy - grossismyy).GE. 0.001 ) THEN 721 write(lunout,*)'conf_gcm: La valeur de grossismy passee par ', 722 & 'run.def est differente de celle lue sur le fichier start ' 723 STOP 911 724 ENDIF 912 725 913 726 IF( grossismx.LT.1. ) THEN 727 write(lunout,*) 728 & 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 729 STOP 730 ELSE 731 alphax = 1. - 1./ grossismx 732 ENDIF 733 734 735 IF( grossismy.LT.1. ) THEN 736 write(lunout,*) 737 & 'conf_gcm: *** ATTENTION !! grossismy < 1 . *** ' 738 STOP 739 ELSE 740 alphay = 1. - 1./ grossismy 741 ENDIF 742 743 write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay 744 c 745 c alphax et alphay sont les anciennes formulat. des grossissements 746 c 747 c 748 749 !Config Key = fxyhypb 750 !Config Desc = Fonction hyperbolique 751 !Config Def = y 752 !Config Help = Fonction f(y) hyperbolique si = .true. 753 !Config sinon sinusoidale 754 fxyhypbb = .TRUE. 755 CALL getin('fxyhypb',fxyhypbb) 756 757 IF( .NOT.fxyhypb ) THEN 758 IF( fxyhypbb ) THEN 759 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 760 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 761 * 'F alors qu il est T sur run.def ***' 762 STOP 763 ENDIF 764 ELSE 765 IF( .NOT.fxyhypbb ) THEN 766 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 767 write(lunout,*)' *** fxyhypb lu sur le fichier start est ', 768 * 'T alors qu il est F sur run.def **** ' 769 STOP 770 ENDIF 771 ENDIF 772 c 773 !Config Key = dzoomx 774 !Config Desc = extension en longitude 775 !Config Def = 0 776 !Config Help = extension en longitude de la zone du zoom 777 !Config ( fraction de la zone totale) 778 dzoomxx = 0.0 779 CALL getin('dzoomx',dzoomxx) 780 781 IF( fxyhypb ) THEN 782 IF( ABS(dzoomx - dzoomxx).GE. 0.001 ) THEN 783 write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ', 784 * 'run.def est differente de celle lue sur le fichier start ' 785 STOP 786 ENDIF 787 ENDIF 788 789 !Config Key = dzoomy 790 !Config Desc = extension en latitude 791 !Config Def = 0 792 !Config Help = extension en latitude de la zone du zoom 793 !Config ( fraction de la zone totale) 794 dzoomyy = 0.0 795 CALL getin('dzoomy',dzoomyy) 796 797 IF( fxyhypb ) THEN 798 IF( ABS(dzoomy - dzoomyy).GE. 0.001 ) THEN 799 write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ', 800 * 'run.def est differente de celle lue sur le fichier start ' 801 STOP 802 ENDIF 803 ENDIF 914 804 915 !Config Key = use_mpi_alloc 916 !Config Desc = Utilise un buffer MPI en m�moire globale 917 !Config Def = false 918 !Config Help = permet d'activer l'utilisation d'un buffer MPI 919 !Config en m�moire globale a l'aide de la fonction MPI_ALLOC. 920 !Config Cela peut am�liorer la bande passante des transferts MPI 921 !Config d'un facteur 2 922 use_mpi_alloc=.FALSE. 923 CALL getin('use_mpi_alloc',use_mpi_alloc) 924 925 !Config Key = omp_chunk 926 !Config Desc = taille des blocs openmp 927 !Config Def = 1 928 !Config Help = defini la taille des packets d'it�ration openmp 929 !Config distribu�e � chaque t�che lors de l'entr�e dans une 930 !Config boucle parall�lis�e 931 932 omp_chunk=1 933 CALL getin('omp_chunk',omp_chunk) 934 935 !Config key = ok_strato 936 !Config Desc = activation de la version strato 937 !Config Def = .FALSE. 938 !Config Help = active la version stratosphérique de LMDZ de F. Lott 939 940 ok_strato=.TRUE. 941 CALL getin('ok_strato',ok_strato) 942 943 !Config Key = ok_gradsfile 944 !Config Desc = activation des sorties grads du guidage 945 !Config Def = n 946 !Config Help = active les sorties grads du guidage 947 948 ok_gradsfile = .FALSE. 949 CALL getin('ok_gradsfile',ok_gradsfile) 950 951 !Config Key = ok_limit 952 !Config Desc = creation des fichiers limit dans create_etat0_limit 805 !Config Key = taux 806 !Config Desc = raideur du zoom en X 807 !Config Def = 3 808 !Config Help = raideur du zoom en X 809 tauxx = 3.0 810 CALL getin('taux',tauxx) 811 812 IF( fxyhypb ) THEN 813 IF( ABS(taux - tauxx).GE. 0.001 ) THEN 814 write(lunout,*)'conf_gcm: La valeur de taux passee par ', 815 * 'run.def est differente de celle lue sur le fichier start ' 816 STOP 817 ENDIF 818 ENDIF 819 820 !Config Key = tauyy 821 !Config Desc = raideur du zoom en Y 822 !Config Def = 3 823 !Config Help = raideur du zoom en Y 824 tauyy = 3.0 825 CALL getin('tauy',tauyy) 826 827 IF( fxyhypb ) THEN 828 IF( ABS(tauy - tauyy).GE. 0.001 ) THEN 829 write(lunout,*)'conf_gcm: La valeur de tauy passee par ', 830 * 'run.def est differente de celle lue sur le fichier start ' 831 STOP 832 ENDIF 833 ENDIF 834 835 cc 836 IF( .NOT.fxyhypb ) THEN 837 838 !Config Key = ysinus 839 !Config IF = !fxyhypb 840 !Config Desc = Fonction en Sinus 953 841 !Config Def = y 954 !Config Help = production du fichier limit.nc requise 955 956 ok_limit = .TRUE. 957 CALL getin('ok_limit',ok_limit) 958 959 !Config Key = ok_etat0 960 !Config Desc = creation des fichiers etat0 dans create_etat0_limit 961 !Config Def = y 962 !Config Help = production des fichiers start.nc, startphy.nc requise 963 964 ok_etat0 = .TRUE. 965 CALL getin('ok_etat0',ok_etat0) 966 967 !Config Key = grilles_gcm_netcdf 968 !Config Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit 969 !Config Def = n 970 grilles_gcm_netcdf = .FALSE. 971 CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf) 842 !Config Help = Fonction f(y) avec y = Sin(latit.) si = .true. 843 !Config sinon y = latit. 844 ysinuss = .TRUE. 845 CALL getin('ysinus',ysinuss) 846 847 IF( .NOT.ysinus ) THEN 848 IF( ysinuss ) THEN 849 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 850 write(lunout,*)' *** ysinus lu sur le fichier start est F', 851 * ' alors qu il est T sur run.def ***' 852 STOP 853 ENDIF 854 ELSE 855 IF( .NOT.ysinuss ) THEN 856 write(lunout,*)' ******** PBS DANS CONF_GCM ******** ' 857 write(lunout,*)' *** ysinus lu sur le fichier start est T', 858 * ' alors qu il est F sur run.def **** ' 859 STOP 860 ENDIF 861 ENDIF 862 ENDIF ! of IF( .NOT.fxyhypb ) 863 864 endif ! etatinit 865 c---------------------------------------- 866 972 867 973 868 write(lunout,*)' #########################################' 974 write(lunout,*)' Configuration des parametres de cel0' 975 & //'_limit: ' 869 write(lunout,*)' Configuration des parametres lus via run.def ' 976 870 write(lunout,*)' planet_type = ', planet_type 977 871 write(lunout,*)' calend = ', calend
Note: See TracChangeset
for help on using the changeset viewer.