Index: trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F
===================================================================
--- trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F	(revision 1748)
+++ trunk/MESOSCALE/LMD_MM_MARS/SRC/LES/modif_mars/module_initialize_les.F	(revision 1749)
@@ -116,5 +116,8 @@
  ! for mode 3
  REAL, DIMENSION(nl_max) :: profdustq,profdustn
- REAL, DIMENSION(nl_max) :: prescribed_sw,prescribed_lw
+ REAL, DIMENSION(nl_max) :: prescribed_sw,prescribed_lw,prescribed_dyn
+ REAL, DIMENSION(nl_max) :: hrsw,hrlw,hrdyn
+ REAL, DIMENSION(nl_max) :: venus_hrdyn
+ REAL, DIMENSION(nl_max) :: altitude
 !!MARS
 
@@ -123,11 +126,8 @@
       !INTEGER :: hypsometric_opt = 2 ! Wee et al. 2012 correction
 
-character(len=10) :: planet
 
 #ifdef DM_PARALLEL
 #    include <data_calls.inc>
 #endif
- 
-   call init_planet_constants
 
    SELECT CASE ( model_data_order )
@@ -393,5 +393,5 @@
   DO j=max(ys,jds),min(ye,jde-1)
   DO i=max(xs,ids),min(xe,ide-1)
-     grid%ht(i,j) = mtn_ht * 0.25 * &
+     grid%ht(i,j) = alt_input + mtn_ht * 0.25 * &
                ( 1. + COS ( 2*pi/(xe-xs) * ( i-xs ) + pi ) ) * &
                ( 1. + COS ( 2*pi/(ye-ys) * ( j-ys ) + pi ) )
@@ -434,5 +434,5 @@
       p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top
       grid%pb(i,k,j) = p_level
-      grid%t_init(i,k,j) = interp_0( theta, p_in, p_level, nl_in ) - t0
+      grid%t_init(i,k,j) = interp_0_log( theta, p_in, p_level, nl_in ) - t0
       grid%alb(i,k,j) = (r_d/p1000mb)*(grid%t_init(i,k,j)+t0)*(grid%pb(i,k,j)/p1000mb)**cvpm
     ENDDO
@@ -458,5 +458,4 @@
   ENDDO
   ENDDO
-
   IF ( wrf_dm_on_monitor() ) THEN
     write(6,*) ' ptop is ',grid%p_top
@@ -491,6 +490,6 @@
       p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
 
-      moist(i,k,j,P_QV) = interp_0( qv, pd_in, p_level, nl_in )
-      grid%t_1(i,k,j)          = interp_0( theta, pd_in, p_level, nl_in ) - t0
+      moist(i,k,j,P_QV) = interp_0_log( qv, pd_in, p_level, nl_in )
+      grid%t_1(i,k,j)          = interp_0_log( theta, pd_in, p_level, nl_in ) - t0
       grid%t_2(i,k,j)          = grid%t_1(i,k,j)
       
@@ -694,5 +693,5 @@
     DO K = 1, kte-1
       p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top
-      grid%v_1(i,k,j) = interp_0( v, p_in, p_level, nl_in )
+      grid%v_1(i,k,j) = interp_0_log( v, p_in, p_level, nl_in )
       grid%v_2(i,k,j) = grid%v_1(i,k,j)
     ENDDO
@@ -718,5 +717,5 @@
     DO K = 1, kte-1
       p_level = grid%znu(k)*(p_surf - grid%p_top) + grid%p_top
-      grid%u_1(i,k,j) = interp_0( u, p_in, p_level, nl_in )
+      grid%u_1(i,k,j) = interp_0_log( u, p_in, p_level, nl_in )
       grid%u_2(i,k,j) = grid%u_1(i,k,j)
     ENDDO
@@ -847,5 +846,5 @@
       DO k=1,kte-1
          p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
-         scalar(its:ite,k,jts:jte,2) = interp_0( qv, pd_in, p_level, nl_in )
+         scalar(its:ite,k,jts:jte,2) = interp_0_log( qv, pd_in, p_level, nl_in )
          scalar(its:ite,k,jts:jte,3) = 0.
            !! water ice is set to 0 (was put into water vapor when building prof from MCD)
@@ -862,6 +861,6 @@
       DO k=1,kte-1
          p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
-         scalar(its:ite,k,jts:jte,4) = interp_0( profdustq, pd_in, p_level, nl_in )
-         scalar(its:ite,k,jts:jte,5) = interp_0( profdustn, pd_in, p_level, nl_in )
+         scalar(its:ite,k,jts:jte,4) = interp_0_log( profdustq, pd_in, p_level, nl_in )
+         scalar(its:ite,k,jts:jte,5) = interp_0_log( profdustn, pd_in, p_level, nl_in )
       ENDDO
       print *, "DUST Q", scalar(its,:,jts,4)
@@ -882,6 +881,6 @@
        DO i = its, ite
          !!! we use Q2 as a vehicle for heating rates! sick!
-         grid%m_q2(i,k,j) = interp_0( profdustq, pd_in, p_level, nl_in ) &
-                          + interp_0( profdustn, pd_in, p_level, nl_in )
+         grid%m_q2(i,k,j) = interp_0_log( profdustq, pd_in, p_level, nl_in ) &
+                          + interp_0_log( profdustn, pd_in, p_level, nl_in )
        ENDDO
        ENDDO
@@ -889,19 +888,42 @@
        !print*,k,grid%m_q2(1,k,1)
     ENDDO
-    print*,'planet',planet   
+
     IF (planet.eq."prescribed") Then
-      call read_hr(profdustq,profdustn,nl_in)
+      call read_hr(hrsw,hrlw,hrdyn,nl_in)
       open(unit=17,file="prescribed_sw.txt",action="write")
       open(unit=18,file="prescribed_lw.txt",action="write")
+      open(unit=19,file="prescribed_dyn.txt",action="write")
       DO k=1,kte!-1
         p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
-        prescribed_sw(k) = interp_0( profdustq, pd_in, p_level, nl_in )
-        prescribed_lw(k) = interp_0( profdustn, pd_in, p_level, nl_in )
+        prescribed_sw(k) = interp_0_log( hrsw, pd_in, p_level, nl_in )
+        prescribed_lw(k) = interp_0_log( hrlw, pd_in, p_level, nl_in )
+        prescribed_dyn(k) = interp_0_log( hrdyn, pd_in, p_level, nl_in )
         write (17,*) prescribed_sw(k)
         write (18,*) prescribed_lw(k)
+        write (19,*) prescribed_dyn(k)
       ENDDO
+      close(unit=19)
+      close(unit=18)
       close(unit=17)
-      close(unit=18)
     ENDIF
+    
+    IF (planet.eq."venus") Then
+      call read_hr(hrsw,hrlw,hrdyn,nl_in)
+      open(unit=20,file="venus_hrdyn.txt",action="write")
+      DO k=1,kte!-1
+        p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
+        venus_hrdyn(k) = interp_0_log( hrdyn, pd_in, p_level, nl_in )
+        write (20,*) venus_hrdyn(k)
+      ENDDO
+      close(unit=20)
+    ENDIF
+
+    open(unit=21,file="altitude.txt",action="write")
+    DO k=1,kte!-1
+      p_level = grid%znu(k)*(pd_surf - grid%p_top) + grid%p_top
+      altitude(k) = interp_0_log( zk, pd_in, p_level, nl_in )
+      write (21,*) altitude(k)
+    ENDDO
+    close(unit=21)
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -1198,5 +1220,5 @@
       implicit none
       integer n
-      real pdustq(n),pdustn(n)
+      real pdustq(n+1),pdustn(n+1)
       logical end_of_file
 
@@ -1223,8 +1245,8 @@
       end subroutine read_dust
 !!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-      subroutine read_hr(hr_sw,hr_lw,n)
+      subroutine read_hr(hr_sw,hr_lw,hr_dyn,n)
       implicit none
       integer n
-      real hr_sw(n),hr_lw(n)
+      real hr_sw(n+1),hr_lw(n+1),hr_dyn(n+1)
       logical end_of_file
 
@@ -1239,8 +1261,8 @@
       do while (.not. end_of_file)
 
-        read(11,*,end=103) hr_sw(k+1),hr_lw(k+1)
-        write(*,*) k,hr_sw(k+1),hr_lw(k+1)
+        read(11,*,end=103) hr_sw(k+1),hr_lw(k+1),hr_dyn(k+1)
+        write(*,*) k,hr_sw(k+1),hr_lw(k+1),hr_dyn(k+1)
         k = k+1
-        go to 113
+        go to 114
  103    end_of_file = .true.
  114    continue
