Changeset 1594 for trunk/LMDZ.GENERIC/libf
- Timestamp:
- Sep 13, 2016, 8:40:34 AM (8 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf/dyn3d
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/dyn3d/control_mod.F90
r1593 r1594 8 8 integer,save :: iperiod ! make a Matsuno step before avery iperiod-1 LF steps 9 9 integer,save :: iconser ! 10 integer,save :: idissip ! apply dissipation every idissipdynamical step10 integer,save :: dissip_period ! apply dissipation every dissip_period dynamical step 11 11 integer,save :: iphysiq ! call physics every iphysiq dynamical steps 12 12 integer,save :: anneeref ! reference year # ! not used -
trunk/LMDZ.GENERIC/libf/dyn3d/defrun_new.F
r1593 r1594 40 40 use sponge_mod,only: callsponge,nsponge,mode_sponge,tetasponge 41 41 use control_mod,only: nday, day_step, iperiod, anneeref, 42 & iconser, idissip, iphysiq42 & iconser, dissip_period, iphysiq 43 43 USE logic_mod, ONLY: hybrid,purmats,fxyhypb,ysinus,iflag_phys 44 44 USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy, … … 132 132 WRITE(lunout,*) "" 133 133 WRITE(lunout,*) "periode de la dissipation (en pas)" 134 idissip=5 ! default value 135 call getin("idissip",idissip) 136 WRITE(lunout,*)" idissip = ",idissip 134 dissip_period=5 ! default value 135 call getin("idissip",dissip_period) 136 ! if there is a "dissip_period" in run.def, it overrides "idissip" 137 call getin("dissip_period",dissip_period) 138 WRITE(lunout,*)" dissip_period = ",dissip_period 137 139 138 140 ccc .... P. Le Van , modif le 29/04/97 .pour la dissipation ... -
trunk/LMDZ.GENERIC/libf/dyn3d/gcm.F
r1593 r1594 5 5 use sponge_mod,only: callsponge,mode_sponge,sponge 6 6 use control_mod, only: nday, day_step, iperiod, iphysiq, 7 & iconser, idissip7 & iconser, dissip_period 8 8 ! use comgeomphy, only: initcomgeomphy 9 9 USE mod_const_mpi, ONLY: COMM_LMDZ … … 366 366 IF( purmats ) THEN 367 367 IF( MOD(itau,iconser) .EQ.0.AND. forward ) conser = .TRUE. 368 IF( MOD(itau,idissip ).EQ.0.AND..NOT.forward ) apdiss = .TRUE. 368 IF( MOD(itau,dissip_period ).EQ.0 369 & .AND..NOT.forward ) apdiss = .TRUE. 369 370 IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward 370 371 $ .AND. (iflag_phys.eq.1) ) apphys = .TRUE. 371 372 ELSE 372 373 IF( MOD(itau ,iconser) .EQ. 0 ) conser = .TRUE. 373 IF( MOD(itau+1, idissip) .EQ. 0) apdiss = .TRUE.374 IF( MOD(itau+1,dissip_period) .EQ. 0 ) apdiss = .TRUE. 374 375 IF( MOD(itau+1,iphysiq).EQ.0 375 376 & .AND. (iflag_phys.eq.1) ) apphys = .TRUE. -
trunk/LMDZ.GENERIC/libf/dyn3d/iniconst.F
r1422 r1594 1 1 SUBROUTINE iniconst 2 2 3 use control_mod, only: iphysiq, idissip3 use control_mod, only: iphysiq, dissip_period 4 4 USE comconst_mod, ONLY: im,jm,lllm,imp1,jmp1,lllmp1,lllmm1, 5 5 . dtdiss,dtvr,dtphys,pi,r,cpp,kappa,unsim … … 36 36 c----------------------------------------------------------------------- 37 37 38 dtdiss = idissip* dtvr38 dtdiss = dissip_period * dtvr 39 39 dtphys = iphysiq * dtvr 40 40 unsim = 1./iim -
trunk/LMDZ.GENERIC/libf/dyn3d/inidissip.F
r1422 r1594 8 8 c ------------- 9 9 10 use control_mod, only: idissip, iperiod10 use control_mod, only: dissip_period, iperiod 11 11 USE comvert_mod, ONLY: aps,bps,pseudoalt,preff 12 12 USE comconst_mod, ONLY: dtdiss,dtvr … … 262 262 ENDDO 263 263 264 c Calcul automatique de idissip264 c Calcul automatique de dissip_period 265 265 c ----------------------------- 266 266 c ::::::::::::::::::::: 267 267 c A Commenter pour garder la valeur de run.def : 268 c idissip= INT( tetamin/( 2.*dtvr*iperiod) ) * iperiod269 c idissip= MAX(iperiod,idissip)268 c dissip_period = INT( tetamin/( 2.*dtvr*iperiod) ) * iperiod 269 c dissip_period = MAX(iperiod,idissip) 270 270 c ::::::::::::::::::::: 271 dtdiss = idissip* dtvr271 dtdiss = dissip_period * dtvr 272 272 273 273 PRINT *,' INIDI tetamin dtvr ',tetamin,dtvr,iperiod 274 PRINT *,' INIDI tetamin idissip ',tetamin,idissip275 PRINT *,' INIDI idissip dtdiss ',idissip,dtdiss274 PRINT *,' INIDI tetamin dissip_period ',tetamin,dissip_period 275 PRINT *,' INIDI dissip_period dtdiss ',dissip_period,dtdiss 276 276 277 277 PRINT*,'pseudoZ(km) zvert dt(tetagdiv) dt(tetagrot) dt(divgrad)' … … 286 286 PRINT *,'in run.def, you must increase tetagdiv,' 287 287 PRINT *,'(or tetagrot and tetatemp if they are smaller than' 288 PRINT *,'tetagdiv) OR decrease idissip OR increase day_step)' 288 PRINT *,'tetagdiv) OR decrease dissip_period' 289 PRINT *,'OR increase day_step)' 289 290 stop 290 291 end if
Note: See TracChangeset
for help on using the changeset viewer.