Changeset 1697 for LMDZ5/trunk
- Timestamp:
- Dec 19, 2012, 5:57:23 PM (12 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d/comdissnew.h
r1319 r1697 12 12 13 13 COMMON/comdissnew/ lstardis,nitergdiv,nitergrot,niterh,tetagdiv, & 14 & tetagrot,tetatemp,coefdis 14 & tetagrot,tetatemp,coefdis, vert_prof_dissip 15 15 16 16 LOGICAL lstardis 17 17 INTEGER nitergdiv, nitergrot, niterh 18 19 integer vert_prof_dissip ! vertical profile of horizontal dissipation 20 ! Allowed values: 21 ! 0: fractional function of pressure 22 ! 1: tanh of altitude 23 18 24 REAL tetagdiv, tetagrot, tetatemp, coefdis 19 25 -
LMDZ5/trunk/libf/dyn3d/conf_gcm.F
r1577 r1697 14 14 #endif 15 15 USE infotrac, ONLY : type_trac 16 use assert_m, only: assert 17 16 18 IMPLICIT NONE 17 19 c----------------------------------------------------------------------- … … 93 95 CALL getin('lunout', lunout) 94 96 IF (lunout /= 5 .and. lunout /= 6) THEN 95 OPEN(lunout,FILE='lmdz.out') 97 OPEN(UNIT=lunout,FILE='lmdz.out',ACTION='write', 98 & STATUS='unknown',FORM='formatted') 96 99 ENDIF 97 100 … … 173 176 174 177 !Config Key = nsplit_phys 175 !Config Desc = nombre de pas par jour176 !Config Def = 1177 !Config Help = nombre de pas par jour (multiple de iperiod) (178 !Config ici pour dt = 1 min )179 178 nsplit_phys = 1 180 179 CALL getin('nsplit_phys',nsplit_phys) … … 625 624 CALL getin('ok_dyn_ave',ok_dyn_ave) 626 625 627 628 626 write(lunout,*)' #########################################' 629 627 write(lunout,*)' Configuration des parametres du gcm: ' … … 635 633 write(lunout,*)' day_step = ', day_step 636 634 write(lunout,*)' iperiod = ', iperiod 635 write(lunout,*)' nsplit_phys = ', nsplit_phys 637 636 write(lunout,*)' iconser = ', iconser 638 637 write(lunout,*)' iecri = ', iecri … … 805 804 !Config Desc = sortie des transports zonaux dans la dynamique 806 805 !Config Def = n 807 !Config Help = 806 !Config Help = Permet de mettre en route le calcul des transports 808 807 !Config 809 ok_dynzon = .FALSE.810 808 ok_dynzon = .FALSE. 809 CALL getin('ok_dynzon',ok_dynzon) 811 810 812 811 !Config Key = ok_dyn_ins … … 838 837 write(lunout,*)'STOP !!!' 839 838 write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d' 840 STOP 839 STOP 1 841 840 ENDIF 842 841 … … 848 847 ok_strato=.FALSE. 849 848 CALL getin('ok_strato',ok_strato) 849 850 vert_prof_dissip = merge(1, 0, ok_strato .and. llm==39) 851 CALL getin('vert_prof_dissip', vert_prof_dissip) 852 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, 853 $ "bad value for vert_prof_dissip") 850 854 851 855 !Config Key = ok_gradsfile -
LMDZ5/trunk/libf/dyn3d/gcm.F
r1671 r1697 405 405 406 406 CALL inidissip( lstardis, nitergdiv, nitergrot, niterh , 407 * tetagdiv, tetagrot , tetatemp 407 * tetagdiv, tetagrot , tetatemp, vert_prof_dissip) 408 408 409 409 c----------------------------------------------------------------------- -
LMDZ5/trunk/libf/dyn3d/inidissip.F90
r1611 r1697 3 3 ! 4 4 SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh , & 5 tetagdiv,tetagrot,tetatemp 5 tetagdiv,tetagrot,tetatemp, vert_prof_dissip) 6 6 !======================================================================= 7 7 ! initialisation de la dissipation horizontale … … 25 25 INTEGER,INTENT(in) :: nitergdiv,nitergrot,niterh 26 26 REAL,INTENT(in) :: tetagdiv,tetagrot,tetatemp 27 28 integer, INTENT(in):: vert_prof_dissip 29 ! Vertical profile of horizontal dissipation 30 ! Allowed values: 31 ! 0: fractional function of pressure 32 ! 1: tanh of altitude 27 33 28 34 ! Local variables: … … 167 173 ! -------------------------------------------------- 168 174 169 if ( ok_strato .and. llm==39) then175 if (vert_prof_dissip == 1) then 170 176 do l=1,llm 171 177 pseudoz=8.*log(preff/presnivs(l)) -
LMDZ5/trunk/libf/dyn3dpar/comdissnew.h
r1319 r1697 12 12 13 13 COMMON/comdissnew/ lstardis,nitergdiv,nitergrot,niterh,tetagdiv, & 14 & tetagrot,tetatemp,coefdis 14 & tetagrot,tetatemp,coefdis, vert_prof_dissip 15 15 16 16 LOGICAL lstardis 17 17 INTEGER nitergdiv, nitergrot, niterh 18 19 integer vert_prof_dissip ! vertical profile of horizontal dissipation 20 ! Allowed values: 21 ! 0: fractional function of pressure 22 ! 1: tanh of altitude 23 18 24 REAL tetagdiv, tetagrot, tetatemp, coefdis 19 25 -
LMDZ5/trunk/libf/dyn3dpar/conf_gcm.F
r1577 r1697 6 6 SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 ) 7 7 c 8 USE control_mod 8 9 #ifdef CPP_IOIPSL 9 10 use IOIPSL … … 16 17 use mod_hallo, ONLY : use_mpi_alloc 17 18 use parallel, ONLY : omp_chunk 18 USE control_mod19 19 USE infotrac, ONLY : type_trac 20 use assert_m, only: assert 21 20 22 IMPLICIT NONE 21 23 c----------------------------------------------------------------------- … … 43 45 #include "serre.h" 44 46 #include "comdissnew.h" 45 !#include "clesphys.h"46 #include "iniprint.h"47 47 #include "temps.h" 48 48 #include "comconst.h" 49 49 50 50 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique 51 ! #include "clesphys.h" 52 #include "iniprint.h" 51 53 c 52 54 c … … 105 107 OPEN(UNIT=lunout,FILE='lmdz.out_0000',ACTION='write', 106 108 & STATUS='unknown',FORM='formatted') 107 108 109 ENDIF 109 110 … … 185 186 186 187 !Config Key = nsplit_phys 187 !Config Desc = nombre d'iteration de la physique188 !Config Def = 240189 !Config Help = nombre d'itration de la physique190 !191 188 nsplit_phys = 1 192 189 CALL getin('nsplit_phys',nsplit_phys) … … 325 322 CALL getin('tau_top_bound',tau_top_bound) 326 323 327 !328 324 !Config Key = coefdis 329 325 !Config Desc = coefficient pour gamdissip … … 608 604 type_trac = 'lmdz' 609 605 CALL getin('type_trac',type_trac) 610 611 606 612 607 !Config Key = config_inca … … 830 825 831 826 !Config Key = ok_dynzon 832 !Config Desc = calcul et sortie des transports827 !Config Desc = sortie des transports zonaux dans la dynamique 833 828 !Config Def = n 834 829 !Config Help = Permet de mettre en route le calcul des transports … … 865 860 write(lunout,*)"Le zoom en longitude est incompatible", 866 861 & " avec l'utilisation du filtre FFT ", 867 & "---> filtre FFT désactivé"862 & "---> FFT filter not active" 868 863 use_filtre_fft=.FALSE. 869 864 ENDIF … … 898 893 ok_strato=.FALSE. 899 894 CALL getin('ok_strato',ok_strato) 895 896 vert_prof_dissip = merge(1, 0, ok_strato .and. llm==39) 897 CALL getin('vert_prof_dissip', vert_prof_dissip) 898 call assert(vert_prof_dissip == 0 .or. vert_prof_dissip == 1, 899 $ "bad value for vert_prof_dissip") 900 900 901 901 !Config Key = ok_gradsfile … … 968 968 write(lunout,*)' type_trac = ', type_trac 969 969 write(lunout,*)' config_inca = ', config_inca 970 write(lunout,*)' ok_dynzon = ', ok_dynzon 970 write(lunout,*)' ok_dynzon = ', ok_dynzon 971 971 write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 972 972 write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave -
LMDZ5/trunk/libf/dyn3dpar/gcm.F
r1671 r1697 418 418 419 419 CALL inidissip( lstardis, nitergdiv, nitergrot, niterh , 420 * tetagdiv, tetagrot , tetatemp 420 * tetagdiv, tetagrot , tetatemp, vert_prof_dissip) 421 421 422 422 c----------------------------------------------------------------------- -
LMDZ5/trunk/libf/dyn3dpar/inidissip.F90
r1611 r1697 3 3 ! 4 4 SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh , & 5 tetagdiv,tetagrot,tetatemp 5 tetagdiv,tetagrot,tetatemp, vert_prof_dissip) 6 6 !======================================================================= 7 7 ! initialisation de la dissipation horizontale … … 25 25 INTEGER,INTENT(in) :: nitergdiv,nitergrot,niterh 26 26 REAL,INTENT(in) :: tetagdiv,tetagrot,tetatemp 27 28 integer, INTENT(in):: vert_prof_dissip 29 ! Vertical profile of horizontal dissipation 30 ! Allowed values: 31 ! 0: fractional function of pressure 32 ! 1: tanh of altitude 27 33 28 34 ! Local variables: … … 167 173 ! -------------------------------------------------- 168 174 169 if ( ok_strato .and. llm==39) then175 if (vert_prof_dissip == 1) then 170 176 do l=1,llm 171 177 pseudoz=8.*log(preff/presnivs(l))
Note: See TracChangeset
for help on using the changeset viewer.