diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 6ba8d83984325d8138102903d0428b07887e3a3d..cd4f419175b5f9e2164687d3aa04ba4db0600766 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -1905,6 +1905,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XHLC_HRC, XHLC_HCF, XHLI_HRI, XHLI_HCF,              &
                           ZSEA, ZTOWN                                          )
     DEALLOCATE(ZTOWN)
+    DEALLOCATE(ZSEA)
   ELSE
     CALL RESOLVED_CLOUD ( CCLOUD, CACTCCN, CSCONV, CMF_CLOUD, NRR, NSPLITR,    &
                           NSPLITG, IMI, KTCOUNT,                               &
@@ -1997,6 +1998,7 @@ IF (CELEC /= 'NONE' .AND. (CCLOUD(1:3) == 'ICE')) THEN
                           XINPRS, XINPRG, XINPRH,                        &
                           ZSEA, ZTOWN                                    )
     DEALLOCATE(ZTOWN)
+    DEALLOCATE(ZSEA)
   ELSE
     CALL RESOLVED_ELEC_n (CCLOUD, CSCONV, CMF_CLOUD,                     &
                           NRR, NSPLITR, IMI, KTCOUNT, OEXIT,             &
@@ -2126,11 +2128,23 @@ IF (LSTATION)                                                            &
 !*       24.3    PROFILER (observation diagnostic)
 !               ---------------------------------
 !
-IF (LPROFILER)                                                           &
-  CALL PROFILER_n(XTSTEP,                                                &
+IF (LPROFILER)  THEN
+  IF (CSURF=='EXTE') THEN
+    ALLOCATE(ZSEA(IIU,IJU))
+    ZSEA(:,:) = 0.
+    CALL MNHGET_SURF_PARAM_n (PSEA=ZSEA(:,:))
+    CALL PROFILER_n(XTSTEP,                                              &
                   XXHAT, XYHAT, XZZ,XRHODREF,                            &
                   XUT, XVT, XWT, XTHT, XRT, XSVT, XTKET, XTSRAD, XPABST, &
                   XAER, XCLDFR, XCIT,PSEA=ZSEA(:,:))
+    DEALLOCATE(ZSEA)
+  ELSE
+    CALL PROFILER_n(XTSTEP,                                              &
+                  XXHAT, XYHAT, XZZ,XRHODREF,                            &
+                  XUT, XVT, XWT, XTHT, XRT, XSVT, XTKET, XTSRAD, XPABST, &
+                  XAER, XCLDFR, XCIT)
+  END IF
+END IF
 !
 !
 CALL SECOND_MNH2(ZTIME2)
diff --git a/src/MNH/profilern.f90 b/src/MNH/profilern.f90
index 433a5c6ef02ae8a1630718f497b1f602b536f7a5..c1eabd5e17de3dff4cbce78e0f26fbb09c915329 100644
--- a/src/MNH/profilern.f90
+++ b/src/MNH/profilern.f90
@@ -31,7 +31,7 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PP     ! pressure
 REAL, DIMENSION(:,:,:,:), INTENT(IN)     :: PAER   ! aerosol extinction
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCLDFR ! cloud fraction
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCIT   ! ice concentration
-REAL, DIMENSION(:,:),     INTENT(IN)     :: PSEA   ! for radar 
+REAL, DIMENSION(:,:), OPTIONAL, INTENT(IN)     :: PSEA   ! for radar 
 !
 !-------------------------------------------------------------------------------
 !
@@ -97,7 +97,7 @@ USE MODD_GRID
 USE MODD_SUB_PROFILER_n
 USE MODD_NSV
 USE MODD_PARAMETERS
-USE MODD_PARAM_n,        ONLY: CCLOUD, CRAD
+USE MODD_PARAM_n,        ONLY: CCLOUD, CRAD, CSURF
 USE MODD_PROFILER_n
 USE MODD_TIME,           only: tdtexp
 USE MODD_TIME_n,         only: tdtcur
@@ -157,7 +157,7 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PP     ! pressure
 REAL, DIMENSION(:,:,:,:), INTENT(IN)     :: PAER   ! aerosol extinction
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCLDFR ! cloud fraction
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCIT   ! ice concentration
-REAL, DIMENSION(:,:),     INTENT(IN)     :: PSEA   ! for radar 
+REAL, DIMENSION(:,:), OPTIONAL, INTENT(IN)     :: PSEA   ! for radar 
 !
 !-------------------------------------------------------------------------------
 !
@@ -548,10 +548,15 @@ IF (GSTORE) THEN
        DO JLOOP=3,6
           ZRZ(:,JLOOP)=PROFILER_INTERP(PR(:,:,:,JLOOP))
        END DO
-       DO JK=1,IKU
-          ZRZ(JK,2)=PROFILER_INTERP_2D(PR(:,:,JK,2)*PSEA(:,:))       ! becomes cloud mixing ratio over sea
-          ZRZ(JK,7)=PROFILER_INTERP_2D(PR(:,:,JK,2)*(1.-PSEA(:,:)))  ! becomes cloud mixing ratio over land
-       END DO
+       IF (CSURF=="EXTE") THEN
+         DO JK=1,IKU
+            ZRZ(JK,2)=PROFILER_INTERP_2D(PR(:,:,JK,2)*PSEA(:,:))       ! becomes cloud mixing ratio over sea
+            ZRZ(JK,7)=PROFILER_INTERP_2D(PR(:,:,JK,2)*(1.-PSEA(:,:)))  ! becomes cloud mixing ratio over land
+         END DO
+       ELSE
+          ZRZ(:,2)=PROFILER_INTERP(PR(:,:,:,2))
+          ZRZ(:,7)=0.
+       END IF
        ALLOCATE(ZAELOC(IKU))
         !
        ZAELOC(:)=0.