Index: trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/callphysiq_mod.F
===================================================================
--- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/callphysiq_mod.F	(revision 2638)
+++ trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/callphysiq_mod.F	(revision 2742)
@@ -30,5 +30,5 @@
 ! Sanity check on physics package type
   IF (debut_split) THEN
-    IF (planet_type.ne."generic") THEN
+    IF (planet_type.ne."titan") THEN
      PRINT*,"wrong planet_type for this physics package"
      STOP
Index: trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_inputs_physiq_mod.F
===================================================================
--- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_inputs_physiq_mod.F	(revision 2638)
+++ trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_inputs_physiq_mod.F	(revision 2742)
@@ -20,12 +20,18 @@
             lct_input,lon_input,ls_input,&
             MY)
+
   USE variables_mod, only: JD_cur,JH_cur_split,phour_ini
-  use callkeys_mod, only : tlocked
+  !use callkeys_mod, only : tlocked
+  !! JD_cur <> pday ! Julian day
+  !! JH_cur_split <> ptime ! Julian hour (fraction of day)
+
   INTEGER, INTENT(IN) :: JULDAY, JULYR
   REAL, INTENT(IN) :: GMT,elaps,lon_input,ls_input,lct_input
   REAL,INTENT(OUT) :: MY
-  REAL :: sec,nsec
-  
+
   IF (JULYR .ne. 9999) THEN
+    !
+    ! specified
+    !
     JH_cur_split = (GMT + elaps/57420.) !! universal time (0<JH_cur_split<1): JH_cur_split=0.5 at 12:00 UT 
     JH_cur_split = MODULO(JH_cur_split,24.)   !! the two arguments of MODULO must be of the same type 
@@ -36,11 +42,16 @@
     MY = INT(MY)
   ELSE
+    !
+    ! idealized
+    !
     JH_cur_split = lct_input - lon_input / 15. + elaps/57420.0
-    JD_cur =  INT((57420.0*(lct_input - lon_input / 15.) + elaps)/1378080)
-    JH_cur_split = MODULO(ptime,24.)
+    JH_cur_split = MODULO(JH_cur_split,24.)
     JH_cur_split = JH_cur_split / 24.
-    JD_cur = MODULO(int(pday),365)
+    JD_cur = INT((57420.0*(lct_input - lon_input / 15.) + elaps)/1378080) !! ls2sol???
+    JD_cur = MODULO(int(pday),365) !! 365 to be changed
     MY = 2024
+    !day_ini = floor(ls2sol(ls_input)) !! JD_cur at firstcall is day_ini
   ENDIF
+  print *,'** Titan ** TIME IS', JD_cur, JH_cur_split*24.
 
 END SUBROUTINE update_inputs_physiq_time
@@ -303,4 +314,12 @@
    REAL, DIMENSION( ims:ime, 5, jms:jme ), INTENT(IN   )  :: M_GW  
 
+   !! TITAN: constant surface roughness
+   !! see below commented part if varying is needed
+   z0 = CST_Z0
+   IF (z0 == 0.) THEN
+       PRINT *, 'WELL, z0 is 0, this is no good. Setting to default value from Tokano 2006'
+       z0 = 0.005 ! (m) value for Huygens landing site from Tokano 2006
+   ENDIF
+
    !print*,'ALLOCATED(phisfi)',ALLOCATED(phisfi)
    !print*,'size phisfi',size(phisfi)
@@ -347,5 +366,4 @@
      ! Variable surface roughness !
      !----------------------------!
-     z0 = CST_Z0
      !IF (JULYR .ne. 9999) THEN
      ! IF (CST_Z0 == 0) THEN
Index: trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_outputs_physiq_mod.F
===================================================================
--- trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_outputs_physiq_mod.F	(revision 2638)
+++ trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_titan_lmd_new/update_outputs_physiq_mod.F	(revision 2742)
@@ -14,4 +14,5 @@
    !use surfdat_h, only: tsurf, co2ice, qsurf
    use phys_state_var_mod, only : tsurf,qsurf
+   implicit none
 
    INTEGER, INTENT(IN) :: ims,ime,jms,jme
@@ -50,4 +51,5 @@
    !use comsoil_h, only: tsoil
     use phys_state_var_mod, only : tsoil
+   implicit none
 
    INTEGER, INTENT(IN) :: ims,ime,jms,jme
@@ -84,4 +86,5 @@
    !use dimradmars_mod, only: fluxrad
    use phys_state_var_mod, only : fluxrad
+   implicit none
 
    INTEGER, INTENT(IN) :: ims,ime,jms,jme
@@ -119,12 +122,13 @@
                         !hfmax_th,zmax_th
    !use phys_state_var_mod, only : q2,sensibFlux
+   implicit none
 
    INTEGER, INTENT(IN) :: ims,ime,jms,jme,kms,kme
-   INTEGER, INTENT(IN) :: ips,ipe,jps,jpe
-   INTEGER :: i,j,subs    
+   INTEGER, INTENT(IN) :: ips,ipe,jps,jpe,kps,kpe
+   INTEGER :: i,j,subs
    REAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT)  :: &
      M_WSTAR,HFMAX,ZMAX,USTM,HFX
    REAL, DIMENSION( ims:ime, kms:kme+1, jms:jme ), INTENT(INOUT) :: M_Q2
-  
+
    DO j = jps,jpe
    DO i = ips,ipe
@@ -140,9 +144,14 @@
      M_Q2(i,kps:kpe+1,j) = q2(subs,:)
      M_WSTAR(i,j) = wstar(subs)
+
      !! output only (arrays already in phys modules)
      !HFMAX(i,j) = HFMAX_TH(subs)
      !ZMAX(i,j) = ZMAX_TH(subs)
      USTM(i,j) = ustar(subs)
-     HFX(i,j) = sensibFlux(subs) ! *-1 ?????
+     HFX(i,j) = sensibFlux(subs) !! test like Mars
+     !!! sensible heat flux
+     !!! ... minus sign important because 
+     !!! ... in physics sensibFlux is AtmToSurf_TurbFlux
+     !HFX(i,j) = -sensibFlux(subs) 
 
    ENDDO
@@ -163,5 +172,5 @@
             RAIN,SNOW,REEVAP,SURFRAIN,ALBEQ,FLUXTOP_DN,FLUXABS_SW,FLUXTOP_LW,FLUXSURF_SW,&
             FLUXSURF_LW,FLXGRD,LSCEZ,H2OICE_REFF,LATENT_HF)
-
+   
    USE comm_wrf !! to get fields to be written from physiq
 
@@ -178,4 +187,5 @@
    INTEGER :: i,j,subs
 
+
    DO j = jps,jpe
    DO i = ips,ipe
@@ -189,4 +199,10 @@
      HR_SW(i,kps:kpe,j) = comm_HR_SW(subs,kps:kpe)
      HR_LW(i,kps:kpe,j) = comm_HR_LW(subs,kps:kpe)
+     FLUXTOP_DN(i,j)=comm_FLUXTOP_DN(subs)
+     FLUXABS_SW(i,j)=comm_FLUXABS_SW(subs)
+     FLUXTOP_LW(i,j)=comm_FLUXTOP_LW(subs)
+     FLUXSURF_SW(i,j)=comm_FLUXSURF_SW(subs)
+     FLUXSURF_LW(i,j)=comm_FLUXSURF_LW(subs)
+     FLXGRD(i,j)=comm_FLXGRD(subs)
 
    ENDDO
