Changeset 1502 for LMDZ5/trunk/libf/dyn3dpar
- Timestamp:
- Mar 21, 2011, 5:07:54 PM (14 years ago)
- Location:
- LMDZ5/trunk/libf/dyn3dpar
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3dpar/conf_gcm.F
r1492 r1502 225 225 CALL getin('output_grads_dyn',output_grads_dyn) 226 226 227 !Config Key = idissip227 !Config Key = dissip_period 228 228 !Config Desc = periode de la dissipation 229 !Config Def = 10229 !Config Def = 0 230 230 !Config Help = periode de la dissipation 231 !Config (en pas) ... a completer ! 232 idissip = 10 233 CALL getin('idissip',idissip) 231 !Config dissip_period=0 => la valeur sera calcule dans inidissip 232 !Config dissip_period>0 => on prend cette valeur 233 dissip_period = 0 234 CALL getin('dissip_period',dissip_period) 234 235 235 236 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... … … 635 636 write(lunout,*)' periodav = ', periodav 636 637 write(lunout,*)' output_grads_dyn = ', output_grads_dyn 637 write(lunout,*)' idissip = ', idissip638 write(lunout,*)' dissip_period = ', dissip_period 638 639 write(lunout,*)' lstardis = ', lstardis 639 640 write(lunout,*)' nitergdiv = ', nitergdiv … … 909 910 write(lunout,*)' periodav = ', periodav 910 911 write(lunout,*)' output_grads_dyn = ', output_grads_dyn 911 write(lunout,*)' idissip = ', idissip912 write(lunout,*)' dissip_period = ', dissip_period 912 913 write(lunout,*)' lstardis = ', lstardis 913 914 write(lunout,*)' nitergdiv = ', nitergdiv -
LMDZ5/trunk/libf/dyn3dpar/control_mod.F90
r1403 r1502 12 12 REAL :: periodav 13 13 INTEGER :: nday,day_step,iperiod,iapp_tracvl,nsplit_phys 14 INTEGER :: iconser,iecri, idissip,iphysiq,iecrimoy14 INTEGER :: iconser,iecri,dissip_period,iphysiq,iecrimoy 15 15 INTEGER :: dayref,anneeref, raz_date, ip_ebil_dyn 16 16 LOGICAL :: offline -
LMDZ5/trunk/libf/dyn3dpar/defrun.F
r1403 r1502 132 132 133 133 READ (tapedef,9001) ch1,ch4 134 READ (tapedef,*) idissip135 WRITE(tapeout,9001) ch1,' idissip'136 WRITE(tapeout,*) idissip134 READ (tapedef,*) dissip_period 135 WRITE(tapeout,9001) ch1,'dissip_period' 136 WRITE(tapeout,*) dissip_period 137 137 138 138 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... -
LMDZ5/trunk/libf/dyn3dpar/iniconst.F
r1403 r1502 39 39 c----------------------------------------------------------------------- 40 40 41 dtdiss = idissip * dtvr42 41 dtphys = iphysiq * dtvr 43 42 unsim = 1./iim -
LMDZ5/trunk/libf/dyn3dpar/inidissip.F90
r1492 r1502 11 11 ! ------------- 12 12 13 USE control_mod, only : idissip,iperiod13 USE control_mod, only : dissip_period,iperiod 14 14 15 15 IMPLICIT NONE … … 215 215 ENDDO 216 216 217 write(lunout,*)'inidissip: tetamin dtvr iperiod ',tetamin,dtvr,iperiod 218 idissip = INT( tetamin/( 2.*dtvr*iperiod) ) * iperiod 219 write(lunout,*)'inidissip: tetamin idissip ',tetamin,idissip 220 idissip = MAX(iperiod,idissip) 221 dtdiss = idissip * dtvr 222 write(lunout,*)'inidissip: idissip dtdiss ',idissip,dtdiss 217 ! If dissip_period=0 calculate value for dissipation period, else keep value read from gcm.def 218 IF (dissip_period == 0) THEN 219 dissip_period = INT( tetamin/( 2.*dtvr*iperiod) ) * iperiod 220 write(lunout,*)'inidissip: tetamin dtvr iperiod dissip_period(intermed) ',tetamin,dtvr,iperiod,dissip_period 221 dissip_period = MAX(iperiod,dissip_period) 222 END IF 223 224 dtdiss = dissip_period * dtvr 225 write(lunout,*)'inidissip: dissip_period=',dissip_period,' dtdiss=',dtdiss,' dtvr=',dtvr 223 226 224 227 DO l = 1,llm -
LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F
r1492 r1502 350 350 conser = .FALSE. 351 351 apdiss = .FALSE. 352 c idissip=1 352 353 353 IF( purmats ) THEN 354 354 ! Purely Matsuno time stepping 355 355 IF( MOD(itau,iconser) .EQ.0.AND. forward ) conser = .TRUE. 356 IF( MOD(itau,idissip ).EQ.0.AND..NOT.forward ) apdiss = .TRUE. 356 IF( MOD(itau,dissip_period ).EQ.0.AND..NOT.forward ) 357 s apdiss = .TRUE. 357 358 IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward 358 359 s .and. iflag_phys.EQ.1 ) apphys = .TRUE. … … 360 361 ! Leapfrog/Matsuno time stepping 361 362 IF( MOD(itau ,iconser) .EQ. 0 ) conser = .TRUE. 362 IF( MOD(itau+1,idissip) .EQ. 0 ) apdiss = .TRUE. 363 IF( MOD(itau+1,dissip_period).EQ.0 .AND. .NOT. forward ) 364 s apdiss = .TRUE. 363 365 IF( MOD(itau+1,iphysiq).EQ.0.AND.iflag_phys.EQ.1) apphys=.TRUE. 364 366 END IF
Note: See TracChangeset
for help on using the changeset viewer.