| 1 | 37a38,43 |
|---|
| 2 | > !****MARS |
|---|
| 3 | > ! in the dyn_em folder physics driver are only used here |
|---|
| 4 | > !#ifdef WRF_Mars |
|---|
| 5 | > USE module_lmd_driver |
|---|
| 6 | > !#endif |
|---|
| 7 | > !****MARS |
|---|
| 8 | 66a73,76 |
|---|
| 9 | > !****MARS |
|---|
| 10 | > INTEGER :: ngrid,nlayer,nq |
|---|
| 11 | > !****MARS |
|---|
| 12 | > |
|---|
| 13 | 666a677,678 |
|---|
| 14 | > !!****MARS: must set config_flags%bl_pbl_physics to 0 |
|---|
| 15 | > |
|---|
| 16 | 798a811,871 |
|---|
| 17 | > |
|---|
| 18 | > !****MARS |
|---|
| 19 | > !!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 20 | > ! call to LMD physics ! |
|---|
| 21 | > !!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 22 | > |
|---|
| 23 | > CALL wrf_debug ( 200 , ' call lmd_driver' ) |
|---|
| 24 | > |
|---|
| 25 | > !BENCH_START(lmd_driver_tim) |
|---|
| 26 | > |
|---|
| 27 | > CALL lmd_driver( & |
|---|
| 28 | > ! structure |
|---|
| 29 | > & DT=grid%dt,HBOT=grid%hbot,HTOP=grid%htop & |
|---|
| 30 | > & ,ITIMESTEP=grid%itimestep & |
|---|
| 31 | > ! position |
|---|
| 32 | > & ,XLAT=grid%xlat,XLONG=grid%xlong & |
|---|
| 33 | > & ,DX=grid%dx ,DY=grid%dy & |
|---|
| 34 | > & ,MSFT=grid%msft,MSFU=grid%msfu,MSFV=grid%msfv & |
|---|
| 35 | > ! indexes |
|---|
| 36 | > & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & |
|---|
| 37 | > & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & |
|---|
| 38 | > & ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1) & |
|---|
| 39 | > & ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1) & |
|---|
| 40 | > & ,kts=k_start, kte=min(k_end,kde-1) & |
|---|
| 41 | > & ,num_tiles=grid%num_tiles & |
|---|
| 42 | > ! time variables |
|---|
| 43 | > & ,GMT=grid%gmt ,JULYR=grid%julyr ,JULDAY=grid%julday & |
|---|
| 44 | > ! output from phy_prep |
|---|
| 45 | > & ,P8W=p8w ,DZ8W=dz8w ,T8W=t8w & |
|---|
| 46 | > ! Prognostic variables at p points |
|---|
| 47 | > & ,Z=grid%em_z & |
|---|
| 48 | > ! z is the geopotential height at p points |
|---|
| 49 | > ! ... (cf phy_prep in module_big_step_utilities_em) |
|---|
| 50 | > & ,HT=grid%ht & |
|---|
| 51 | > & ,U=u_phy ,V=v_phy & |
|---|
| 52 | > & ,TH=th_phy ,T=t_phy & |
|---|
| 53 | > & ,P=p_phy ,EXNER=pi_phy ,RHO=rho & |
|---|
| 54 | > ! flags |
|---|
| 55 | > ! & ,LW_PHYSICS=config_flags%ra_lw_physics & |
|---|
| 56 | > ! & ,SW_PHYSICS=config_flags%ra_sw_physics & |
|---|
| 57 | > & ,ICLOUD=config_flags%icloud & |
|---|
| 58 | > ! radiation |
|---|
| 59 | > & ,EMISS=grid%emiss,GLW=grid%glw,GSW=grid%gsw & |
|---|
| 60 | > & ,ALBEDO=grid%albedo,RADT=grid%radt,SWDOWN=grid%swdown & |
|---|
| 61 | > ! surface temperature and surface pressure |
|---|
| 62 | > & ,TSK=grid%tsk,PSFC=grid%psfc & |
|---|
| 63 | > ! tendencies for the dynamics |
|---|
| 64 | > & ,RTHRATEN=grid%rthraten & |
|---|
| 65 | > ! & ,RTHRATENLW=grid%rthratenlw,RTHRATENSW=grid%rthratensw & |
|---|
| 66 | > & ,RQCBLTEN=grid%rqcblten,RQIBLTEN=grid%rqiblten,RQVBLTEN=grid%rqvblten & |
|---|
| 67 | > & ,RTHBLTEN=grid%rthblten ,RUBLTEN=grid%rublten,RVBLTEN=grid%rvblten & |
|---|
| 68 | > ! added variables |
|---|
| 69 | > ! & ,MARS_ALB=grid%mars_alb,MARS_TI=grid%mars_ti & |
|---|
| 70 | > ! & ,MARS_ALB=grid%em_al_gc,THERM_INERT=grid%em_ti_gc & |
|---|
| 71 | > & ,MARS_ALB=grid%u10,MARS_TI=grid%v10 & |
|---|
| 72 | > ! & ,MARS_ALB=grid%st000010,MARS_TI=grid%st010040 & |
|---|
| 73 | > ! end |
|---|
| 74 | > & ) |
|---|
| 75 | > !BENCH_END(lmd_driver_tim) |
|---|
| 76 | > !****MARS |
|---|
| 77 | > |
|---|
| 78 | 1020c1093,1095 |
|---|
| 79 | < IF ( config_flags%bl_pbl_physics .ge. 1 ) THEN |
|---|
| 80 | --- |
|---|
| 81 | > |
|---|
| 82 | > !!****MARS: you never know ... |
|---|
| 83 | > ! IF ( config_flags%bl_pbl_physics .ge. 1 ) THEN |
|---|
| 84 | 1022c1097,1099 |
|---|
| 85 | < ENDIF |
|---|
| 86 | --- |
|---|
| 87 | > ! ENDIF |
|---|
| 88 | > |
|---|
| 89 | > |
|---|
| 90 | 1097a1175 |
|---|
| 91 | > !****MARS: OK if diff_opt ne 2 |
|---|