Index: trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90
===================================================================
--- trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 1037)
+++ trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 1133)
@@ -107,5 +107,4 @@
       INTEGER, INTENT( in  ) ::   kt   ! ocean time step
       !!
-      INTEGER  ::   jf       ! dummy indices
       INTEGER  ::   ierror   ! return error code
       !!
@@ -125,14 +124,14 @@
 
          ! (NB: frequency positive => hours, negative => months)
-         !            !    file     ! frequency !  variable  ! time intep !  clim  ! starting !
-         !            !    name     !  (hours)  !   name     !   (T/F)    !  (0/1) !  record  !
-         sn_wndi = FLD_N( 'uwnd10m' ,    24.    ,  'u_10'    ,  .FALSE.   ,    0   ,     0    ) 
-         sn_wndj = FLD_N( 'vwnd10m' ,    24.    ,  'v_10'    ,  .FALSE.   ,    0   ,     0    ) 
-         sn_qsr  = FLD_N( 'qsw'     ,    24.    ,  'qsw'     ,  .FALSE.   ,    0   ,     0    ) 
-         sn_qlw  = FLD_N( 'qlw'     ,    24.    ,  'qlw'     ,  .FALSE.   ,    0   ,     0    ) 
-         sn_tair = FLD_N( 'tair10m' ,    24.    ,  't_10'    ,  .FALSE.   ,    0   ,     0    ) 
-         sn_humi = FLD_N( 'humi10m' ,    24.    ,  'q_10'    ,  .FALSE.   ,    0   ,     0    ) 
-         sn_prec = FLD_N( 'precip'  ,   -12.    ,  'precip'  ,  .TRUE.    ,    0   ,     0    ) 
-         sn_snow = FLD_N( 'snow'    ,   -12.    ,  'snow'    ,  .TRUE.    ,    0   ,     0    ) 
+         !            !    file     ! frequency !  variable  ! time intep !  clim   ! 'yearly' or !
+         !            !    name     !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  !
+         sn_wndi = FLD_N( 'uwnd10m' ,    24.    ,  'u_10'    ,  .false.   , .false. ,   'yearly'  ) 
+         sn_wndj = FLD_N( 'vwnd10m' ,    24.    ,  'v_10'    ,  .false.   , .false. ,   'yearly'  ) 
+         sn_qsr  = FLD_N( 'qsw'     ,    24.    ,  'qsw'     ,  .false.   , .false. ,   'yearly'  ) 
+         sn_qlw  = FLD_N( 'qlw'     ,    24.    ,  'qlw'     ,  .false.   , .false. ,   'yearly'  ) 
+         sn_tair = FLD_N( 'tair10m' ,    24.    ,  't_10'    ,  .false.   , .false. ,   'yearly'  ) 
+         sn_humi = FLD_N( 'humi10m' ,    24.    ,  'q_10'    ,  .false.   , .false. ,   'yearly'  ) 
+         sn_prec = FLD_N( 'precip'  ,    -1.    ,  'precip'  ,  .true.    , .false. ,   'yearly'  ) 
+         sn_snow = FLD_N( 'snow'    ,    -1.    ,  'snow'    ,  .true.    , .false. ,   'yearly'  ) 
 
          REWIND( numnam )                    ! ... read in namlist namsbc_core
@@ -151,37 +150,6 @@
          ENDIF
 
-         DO jf = 1, jpfld
-            WRITE(sf(jf)%clrootname,'(a,a)' )   TRIM( cn_dir ), TRIM( slf_i(jf)%clname )
-            sf(jf)%freqh   = slf_i(jf)%freqh
-            sf(jf)%clvar   = slf_i(jf)%clvar
-            sf(jf)%ln_tint = slf_i(jf)%ln_tint
-            sf(jf)%nclim   = slf_i(jf)%nclim
-            sf(jf)%nstrec  = slf_i(jf)%nstrec
-         END DO
-
-         IF(lwp) THEN      ! control print
-            WRITE(numout,*)            
-            WRITE(numout,*) 'sbc_blk_core : flux formulattion for ocean surface boundary condition'
-            WRITE(numout,*) '~~~~~~~~~~~~ '
-            WRITE(numout,*) '          namsbc_core Namelist'
-            WRITE(numout,*) '          ln_2m        = ', ln_2m
-            WRITE(numout,*) '          alpha_precip = ', alpha_precip
-            WRITE(numout,*) '          list of files and frequency (>0: in hours ; <0 in months)'
-            DO jf = 1, jpfld
-                WRITE(numout,*) '               file root name: ' , TRIM( sf(jf)%clrootname ),   &
-                   &                          ' variable name: '  , TRIM( sf(jf)%clvar      )
-                WRITE(numout,*) '               frequency: '      ,       sf(jf)%freqh       ,   &
-                   &                          ' time interp: '    ,       sf(jf)%ln_tint     ,   &
-                   &                          ' climatology: '    ,       sf(jf)%nclim       ,   &
-                   &                          ' starting record: ',       sf(jf)%nstrec
-            END DO
-            IF( ln_2m )   THEN
-               WRITE(numout,*) '          Calling TURB_CORE_2Z for bulk transfert coefficients'
-            ELSE
-               WRITE(numout,*) '          Calling TURB_CORE_1Z for bulk transfert coefficients'
-            ENDIF
-            WRITE(numout,*)            
-            !
-         ENDIF
+         ! fill sf with slf_i and control print
+         CALL fld_fill( sf, slf_i, cn_dir, 'sbc_blk_core', 'flux formulattion for ocean surface boundary condition', 'namsbc_core' )
          !
       ENDIF
