Changeset 4171 for LMDZ6/branches/LMDZ-ECRAD/libf/dyn3dmem/conf_gcm.F90
- Timestamp:
- Jun 17, 2022, 4:24:49 PM (2 years ago)
- Location:
- LMDZ6/branches/LMDZ-ECRAD
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/LMDZ-ECRAD
- Property svn:mergeinfo changed
-
LMDZ6/branches/LMDZ-ECRAD/libf/dyn3dmem/conf_gcm.F90
r3802 r4171 6 6 USE control_mod 7 7 #ifdef CPP_IOIPSL 8 useIOIPSL8 USE IOIPSL 9 9 #else 10 10 ! if not using IOIPSL, we still need to use (a local version of) getin 11 useioipsl_getincom11 USE ioipsl_getincom 12 12 #endif 13 usemisc_mod14 use mod_filtre_fft, ONLY: use_filtre_fft15 use mod_filtre_fft_loc, ONLY: use_filtre_fft_loc=>use_filtre_fft16 use mod_hallo, ONLY: use_mpi_alloc17 USE infotrac, ONLY 18 use assert_m, only: assert13 USE misc_mod 14 USE mod_filtre_fft, ONLY: use_filtre_fft 15 USE mod_filtre_fft_loc, ONLY: use_filtre_fft_loc=>use_filtre_fft 16 USE mod_hallo, ONLY: use_mpi_alloc 17 USE infotrac, ONLY: type_trac 18 USE assert_m, ONLY: assert 19 19 USE comconst_mod, ONLY: dissip_deltaz, dissip_factz, dissip_zref, & 20 20 iflag_top_bound, mode_top_bound, tau_top_bound, & … … 55 55 LOGICAL fxyhypbb, ysinuss 56 56 INTEGER i 57 character(len=*),parameter:: modname="conf_gcm"58 character(len=80) :: abort_message57 CHARACTER(len=*), PARAMETER :: modname="conf_gcm" 58 CHARACTER(len=80) :: abort_message 59 59 #ifdef CPP_OMP 60 integer,external:: OMP_GET_NUM_THREADS60 INTEGER, EXTERNAL :: OMP_GET_NUM_THREADS 61 61 #endif 62 62 … … 102 102 103 103 adjust=.false. 104 callgetin('adjust',adjust)104 CALL getin('adjust',adjust) 105 105 106 106 #ifdef CPP_OMP 107 107 ! adjust=y not implemented in case of OpenMP threads... 108 108 !$OMP PARALLEL 109 if((OMP_GET_NUM_THREADS()>1).and.adjust) then109 IF ((OMP_GET_NUM_THREADS()>1).and.adjust) then 110 110 write(lunout,*)'conf_gcm: Error, adjust should be set to n' & 111 111 ,' when running with OpenMP threads' 112 112 abort_message = 'Wrong value for adjust' 113 callabort_gcm(modname,abort_message,1)114 endif113 CALL abort_gcm(modname,abort_message,1) 114 ENDIF 115 115 !$OMP END PARALLEL 116 116 #endif 117 117 118 118 itaumax=0 119 callgetin('itaumax',itaumax);120 if(itaumax<=0) itaumax=HUGE(itaumax)119 CALL getin('itaumax',itaumax); 120 IF (itaumax<=0) itaumax=HUGE(itaumax) 121 121 122 122 !Config Key = prt_level … … 146 146 ! initialize year_len for aquaplanets and 1D 147 147 CALL getin('calend', calend) 148 if (calend == 'earth_360d') then 149 year_len=360 150 else if (calend == 'earth_365d') then 151 year_len=365 152 else if (calend == 'earth_366d') then 153 year_len=366 154 else 155 year_len=1 156 endif 157 148 IF (calend == 'earth_360d') THEN 149 year_len=360 150 ELSE IF (calend == 'earth_365d') THEN 151 year_len=365 152 ELSE IF (calend == 'earth_366d') THEN 153 year_len=366 154 ELSE 155 year_len=1 156 ENDIF 158 157 159 158 !Config Key = dayref … … 345 344 ngroup=3 346 345 CALL getin('ngroup',ngroup) 347 if(mod(iim, 2**ngroup) /= 0) &346 IF (mod(iim, 2**ngroup) /= 0) & 348 347 call abort_gcm("conf_gcm", 'iim must be multiple of 2**ngroup', 1) 349 if(2**ngroup > jjm + 1) &348 IF (2**ngroup > jjm + 1) & 350 349 call abort_gcm("conf_gcm", '2**ngroup must be <= jjm + 1', 1) 351 350 … … 357 356 iflag_top_bound=1 358 357 CALL getin('iflag_top_bound',iflag_top_bound) 358 IF (iflag_top_bound < 0 .or. iflag_top_bound > 2) & 359 call abort_gcm("conf_gcm", 'iflag_top_bound must be 0, 1 or 2', 1) 359 360 360 361 ! mode_top_bound : fields towards which sponge relaxation will be done: … … 392 393 CALL getin('ok_guide',ok_guide) 393 394 394 if(ok_guide .and. adjust) call abort_gcm("conf_gcm", &395 IF (ok_guide .and. adjust) call abort_gcm("conf_gcm", & 395 396 "adjust does not work with ok_guide", 1) 396 397 … … 632 633 WRITE(lunout,*) & 633 634 'only the file phystoke.nc will still be created ' 634 END 635 ENDIF 635 636 636 637 !Config Key = type_trac … … 677 678 ok_dyn_ave = .FALSE. 678 679 CALL getin('ok_dyn_ave',ok_dyn_ave) 680 681 !Config Key = ok_dyn_xios 682 !Config Desc = sorties moyennes dans la dynamique 683 !Config Def = n 684 !Config Help = 685 !Config 686 ok_dyn_xios = .FALSE. 687 CALL getin('ok_dyn_xios',ok_dyn_xios) 679 688 680 689 write(lunout,*)' #########################################' … … 720 729 write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 721 730 write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave 731 write(lunout,*)' ok_dyn_xios = ', ok_dyn_xios 722 732 else 723 733 !Config Key = clon … … 754 764 755 765 IF( grossismx.LT.1. ) THEN 756 write(lunout,*) & 757 'conf_gcm: *** ATTENTION !! grossismx < 1 . *** ' 766 write(lunout,*) 'conf_gcm: ***ATTENTION !! grossismx < 1 . *** ' 758 767 STOP 759 768 ELSE … … 768 777 ENDIF 769 778 770 write(lunout,*) 'conf_gcm: alphax alphay ',alphax,alphay779 write(lunout,*) 'conf_gcm: alphax alphay ',alphax,alphay 771 780 772 781 ! alphax et alphay sont les anciennes formulat. des grossissements … … 835 844 WRITE(lunout,*) & 836 845 'only the file phystoke.nc will still be created ' 837 END 846 ENDIF 838 847 839 848 !Config Key = type_trac … … 880 889 ok_dyn_ave = .FALSE. 881 890 CALL getin('ok_dyn_ave',ok_dyn_ave) 891 892 !Config Key = ok_dyn_xios 893 !Config Desc = sorties moyennes dans la dynamique 894 !Config Def = n 895 !Config Help = 896 !Config 897 ok_dyn_xios = .FALSE. 898 CALL getin('ok_dyn_xios',ok_dyn_xios) 882 899 883 900 !Config Key = use_filtre_fft … … 953 970 954 971 write(lunout,*)' #########################################' 955 write(lunout,*)' Configuration des parametres de cel0' & 956 //'_limit: ' 972 write(lunout,*)' Configuration des parametres de cel0_limit: ' 957 973 write(lunout,*)' planet_type = ', planet_type 958 974 write(lunout,*)' calend = ', calend … … 994 1010 write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 995 1011 write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave 1012 write(lunout,*)' ok_dyn_xios = ', ok_dyn_xios 996 1013 write(lunout,*)' use_filtre_fft = ', use_filtre_fft 997 1014 write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc … … 1000 1017 write(lunout,*)' ok_limit = ', ok_limit 1001 1018 write(lunout,*)' ok_etat0 = ', ok_etat0 1019 write(lunout,*)' ok_guide = ', ok_guide 1002 1020 write(lunout,*)' read_orop = ', read_orop 1003 endIF test_etatinit1021 ENDIF test_etatinit 1004 1022 1005 1023 END SUBROUTINE conf_gcm
Note: See TracChangeset
for help on using the changeset viewer.