New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2907 for branches/2011/dev_r2802_MERCATOR9_floats – NEMO

Ignore:
Timestamp:
2011-10-12T19:08:14+02:00 (13 years ago)
Author:
cbricaud
Message:

modifications after review

Location:
branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO/flo4rk.F90

    r2839 r2907  
    5252      !! 
    5353      INTEGER ::  jfl, jind           ! dummy loop indices 
     54      INTEGER ::  ierror              ! error value 
     55 
    5456      REAL(wp), ALLOCATABLE, DIMENSION(:)   ::   zgifl , zgjfl , zgkfl    ! index RK  positions 
    5557      REAL(wp), ALLOCATABLE, DIMENSION(:)   ::   zufl  , zvfl  , zwfl     ! interpolated velocity at the float position  
     
    5759      !!--------------------------------------------------------------------- 
    5860 
    59       ALLOCATE (  zgifl(jpnfl)  ,  zgjfl(jpnfl)  ,  zgkfl(jpnfl)   ) 
    60       ALLOCATE (   zufl(jpnfl)  ,   zvfl(jpnfl)  ,   zwfl(jpnfl)   )          
    61       ALLOCATE ( zrkxfl(jpnfl,4), zrkyfl(jpnfl,4), zrkzfl(jpnfl,4) ) 
     61      ALLOCATE (  zgifl(jpnfl)  ,  zgjfl(jpnfl)  ,  zgkfl(jpnfl)   , & 
     62                   zufl(jpnfl)  ,   zvfl(jpnfl)  ,   zwfl(jpnfl)   , &         
     63                 zrkxfl(jpnfl,4), zrkyfl(jpnfl,4), zrkzfl(jpnfl,4) , STAT=ierror ) 
     64      ! 
     65      IF( ierror /= 0 ) THEN 
     66         WRITE(numout,*) 'flo_4rk: allocation of workspace arrays failed' 
     67      ENDIF 
     68 
    6269     
    6370      IF( kt == nit000 ) THEN 
  • branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO/floats.F90

    r2843 r2907  
    102102      IF( flo_oce_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'flo_init : unable to allocate arrays' ) 
    103103      ! 
     104      !                             ! allocate flodom arrays 
     105      IF( flo_dom_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'flo_dom : unable to allocate arrays' ) 
     106      ! 
    104107      !                             ! allocate flowri arrays 
    105108      IF( flo_wri_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'flo_wri : unable to allocate arrays' ) 
     109      ! 
     110      !                             ! allocate florst arrays 
     111      IF( flo_rst_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'flo_rst : unable to allocate arrays' ) 
    106112      ! 
    107113      !memory allocation  
  • branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO/flodom.F90

    r2844 r2907  
    2727   PRIVATE 
    2828 
    29    PUBLIC   flo_dom    ! routine called by floats.F90 
     29   PUBLIC   flo_dom         ! routine called by floats.F90 
     30   PUBLIC   flo_dom_alloc   ! Routine called in floats.F90 
    3031 
    3132   CHARACTER (len=21) ::  clname1 = 'init_float'              ! floats initialisation filename 
    3233   CHARACTER (len=21) ::  clname2 = 'init_float_ariane'       ! ariane floats initialisation filename 
     34 
     35 
     36   INTEGER , ALLOCATABLE, DIMENSION(:) ::   iimfl, ijmfl, ikmfl       ! index mesh of floats 
     37   INTEGER , ALLOCATABLE, DIMENSION(:) ::   idomfl, ivtest, ihtest    !   -      
     38   REAL(wp), ALLOCATABLE, DIMENSION(:) ::   zgifl, zgjfl,  zgkfl      ! distances in indexes 
    3339 
    3440   !! * Substitutions 
     
    8995 
    9096            IF( ln_ariane )THEN  !Add new floats with ariane convention 
    91                 CALL add_new_ariane_floats(jpnrstflo+1,jpnfl)  
     97                CALL flo_add_new_ariane_floats(jpnrstflo+1,jpnfl)  
    9298            ELSE                 !Add new floats with long/lat convention 
    93                 CALL add_new_floats(jpnrstflo+1,jpnfl) 
     99                CALL flo_add_new_floats(jpnrstflo+1,jpnfl) 
    94100            ENDIF 
    95101         ENDIF 
     
    101107 
    102108         IF( ln_ariane )THEN       !Add new floats with ariane convention 
    103             CALL add_new_ariane_floats(1,jpnfl) 
     109            CALL flo_add_new_ariane_floats(1,jpnfl) 
    104110         ELSE                      !Add new floats with long/lat convention 
    105             CALL add_new_floats(1,jpnfl) 
     111            CALL flo_add_new_floats(1,jpnfl) 
    106112         ENDIF 
    107113 
     
    110116   END SUBROUTINE flo_dom 
    111117 
    112    SUBROUTINE add_new_floats(kfl_start, kfl_end) 
     118   SUBROUTINE flo_add_new_floats(kfl_start, kfl_end) 
    113119      !! ------------------------------------------------------------- 
    114120      !!                 ***  SUBROUTINE add_new_arianefloats  *** 
     
    134140      LOGICAL           :: llinmesh 
    135141      CHARACTER(len=80) :: cltmp 
    136  
    137       INTEGER , DIMENSION(jpnfl) ::   iimfl, ijmfl, ikmfl       ! index mesh of floats 
    138       INTEGER , DIMENSION(jpnfl) ::   idomfl, ivtest, ihtest    !   -      
    139       REAL(wp), DIMENSION(jpnfl) ::   zgifl, zgjfl,  zgkfl 
    140142      !!--------------------------------------------------------------------- 
    141143      ifl = kfl_end-kfl_start+1 
     
    164166# endif                      
    165167               ! For each float we find the indexes of the mesh                       
    166                CALL findmesh(glamf(ji-1,jj-1),gphif(ji-1,jj-1),   & 
    167                              glamf(ji-1,jj  ),gphif(ji-1,jj  ),   & 
    168                              glamf(ji  ,jj  ),gphif(ji  ,jj  ),   & 
    169                              glamf(ji  ,jj-1),gphif(ji  ,jj-1),   & 
    170                              flxx(jfl)       ,flyy(jfl)       ,   & 
    171                              glamt(ji  ,jj  ),gphit(ji  ,jj  ), llinmesh) 
     168               CALL flo_findmesh(glamf(ji-1,jj-1),gphif(ji-1,jj-1),   & 
     169                                 glamf(ji-1,jj  ),gphif(ji-1,jj  ),   & 
     170                                 glamf(ji  ,jj  ),gphif(ji  ,jj  ),   & 
     171                                 glamf(ji  ,jj-1),gphif(ji  ,jj-1),   & 
     172                                 flxx(jfl)       ,flyy(jfl)       ,   & 
     173                                 glamt(ji  ,jj  ),gphit(ji  ,jj  ), llinmesh) 
    172174               IF( llinmesh )THEN 
    173175                  iimfl(jfl) = ji 
     
    231233            !        A--------|-----D 
    232234            ! 
    233             zdxab = dstnce( flxx(jfl), flyy(jfl), glamf(iimfl(jfl)-1,ijmfl(jfl)-1), flyy(jfl) ) 
    234             zdyad = dstnce( flxx(jfl), flyy(jfl), flxx(jfl), gphif(iimfl(jfl)-1,ijmfl(jfl)-1) ) 
     235            zdxab = flo_dstnce( flxx(jfl), flyy(jfl), glamf(iimfl(jfl)-1,ijmfl(jfl)-1), flyy(jfl) ) 
     236            zdyad = flo_dstnce( flxx(jfl), flyy(jfl), flxx(jfl), gphif(iimfl(jfl)-1,ijmfl(jfl)-1) ) 
    235237 
    236238            ! Translation of this distances (in meter) in indexes 
     
    277279      ENDIF 
    278280 
    279    END SUBROUTINE add_new_floats 
    280  
    281    SUBROUTINE add_new_ariane_floats(kfl_start, kfl_end) 
     281   END SUBROUTINE flo_add_new_floats 
     282 
     283   SUBROUTINE flo_add_new_ariane_floats(kfl_start, kfl_end) 
    282284      !! ------------------------------------------------------------- 
    283285      !!                 ***  SUBROUTINE add_new_arianefloats  *** 
     
    349351 
    350352 
    351    END SUBROUTINE add_new_ariane_floats 
    352  
    353  
    354    SUBROUTINE findmesh( pax, pay, pbx, pby,   & 
    355                         pcx, pcy, pdx, pdy,   & 
    356                         px  ,py  ,ptx, pty, ldinmesh ) 
     353   END SUBROUTINE flo_add_new_ariane_floats 
     354 
     355 
     356   SUBROUTINE flo_findmesh( pax, pay, pbx, pby,   & 
     357                            pcx, pcy, pdx, pdy,   & 
     358                            px  ,py  ,ptx, pty, ldinmesh ) 
    357359      !! ------------------------------------------------------------- 
    358360      !!                ***  ROUTINE findmesh  *** 
     
    410412      ENDIF 
    411413      ! 
    412    END SUBROUTINE findmesh 
    413  
    414  
    415    FUNCTION dstnce( pla1, phi1, pla2, phi2 ) 
     414   END SUBROUTINE flo_findmesh 
     415 
     416 
     417   FUNCTION flo_dstnce( pla1, phi1, pla2, phi2 ) 
    416418      !! ------------------------------------------------------------- 
    417419      !!                 ***  Function dstnce  *** 
     
    423425      REAL(wp), INTENT(in) ::   pla1, phi1, pla2, phi2   ! ??? 
    424426      !! 
    425       REAL(wp) ::   dly1, dly2, dlx1, dlx2, dlx, dls, dld, dpi 
    426       REAL(wp) ::   dstnce 
     427      REAL(wp) :: dly1, dly2, dlx1, dlx2, dlx, dls, dld, dpi 
     428      REAL(wp) :: flo_dstnce 
    427429      !!--------------------------------------------------------------------- 
    428430      ! 
    429       dpi  = 2.* ASIN(1.) 
    430       dls  = dpi / 180. 
     431      dpi  = 2._wp * ASIN(1._wp) 
     432      dls  = dpi / 180._wp 
    431433      dly1 = phi1 * dls 
    432434      dly2 = phi2 * dls 
     
    436438      dlx = SIN(dly1) * SIN(dly2) + COS(dly1) * COS(dly2) * COS(dlx2-dlx1) 
    437439      ! 
    438       IF( ABS(dlx) > 1.0 ) dlx = 1.0 
    439       ! 
    440       dld = ATAN(DSQRT( 1.d0 * ( 1.-dlx )/( 1.+dlx ) )) * 222.24 / dls 
    441       dstnce = dld * 1000. 
    442       ! 
    443    END FUNCTION dstnce 
    444  
    445  
    446 #  else 
     440      IF( ABS(dlx) > 1.0_wp ) dlx = 1.0_wp 
     441      ! 
     442      dld = ATAN(DSQRT( 1._wp * ( 1._wp-dlx )/( 1._wp+dlx ) )) * 222.24_wp / dls 
     443      flo_dstnce = dld * 1000._wp 
     444      ! 
     445   END FUNCTION flo_dstnce 
     446 
     447   INTEGER FUNCTION flo_dom_alloc() 
     448      !!---------------------------------------------------------------------- 
     449      !!                 ***  FUNCTION flo_dom_alloc  *** 
     450      !!---------------------------------------------------------------------- 
     451 
     452      ALLOCATE( iimfl(jpnfl) , ijmfl(jpnfl) , ikmfl(jpnfl) ,                          &   
     453                idomfl(jpnfl), ivtest(jpnfl), ihtest(jpnfl),                 & 
     454                zgifl(jpnfl) , zgjfl(jpnfl) , zgkfl(jpnfl)   , STAT=flo_dom_alloc ) 
     455      ! 
     456      IF( lk_mpp             )   CALL mpp_sum ( flo_dom_alloc ) 
     457      IF( flo_dom_alloc /= 0 )   CALL ctl_warn('flo_dom_alloc: failed to allocate arrays') 
     458   END FUNCTION flo_dom_alloc 
     459 
     460 
     461#else 
    447462   !!---------------------------------------------------------------------- 
    448463   !!   Default option                                         Empty module 
  • branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO/florst.F90

    r2844 r2907  
    22   !!====================================================================== 
    33   !!                       ***  MODULE  florst  *** 
    4    !! blablabla: floteur.... 
     4   !! 
     5   !! 
     6   !! write floats restart files 
     7   !! 
    58   !!====================================================================== 
    69   !!  History : 
     
    2427   PRIVATE 
    2528 
    26    PUBLIC flo_rst      ! routine called by floats.F90 
     29   PUBLIC flo_rst         ! routine called by floats.F90 
     30   PUBLIC flo_rst_alloc   ! routine called by floats.F90 
     31 
     32   INTEGER, ALLOCATABLE, DIMENSION(:) :: iperproc   ! 1D workspace 
    2733 
    2834   !! * Substitutions 
     
    3541 
    3642CONTAINS 
     43 
     44   INTEGER FUNCTION flo_rst_alloc() 
     45      !!------------------------------------------------------------------- 
     46      !!                ***  FUNCTION flo_rst_alloc  *** 
     47      !!------------------------------------------------------------------- 
     48      ALLOCATE( iperproc(jpnij), STAT=flo_rst_alloc ) 
     49      !   
     50      IF( lk_mpp             )   CALL mpp_sum ( flo_rst_alloc ) 
     51      IF( flo_rst_alloc /= 0 )   CALL ctl_warn('flo_rst_alloc: failed to allocate arrays.') 
     52   END FUNCTION flo_rst_alloc 
     53 
    3754 
    3855   SUBROUTINE flo_rst( kt ) 
     
    5471      INTEGER                  :: ic , jc , jpn ,jfl ! temporary integer 
    5572      INTEGER                  :: inum               ! temporary logical unit for restart file 
    56       INTEGER,DIMENSION(jpnij) :: iproc              ! temporary logical 
    5773      !!---------------------------------------------------------------------- 
    5874 
     
    85101         ! 
    86102         DO jpn = 1, jpnij 
    87             iproc(jpn) = 0 
     103            iperproc(jpn) = 0 
    88104         END DO 
    89105         ! 
     
    102118                  &(INT(tpjfl(jfl)) >= (mjg(nldj)-jpjzoom+1)) .AND.   & 
    103119                  &(INT(tpjfl(jfl)) <= (mjg(nlej)-jpjzoom+1)) ) THEN 
    104                   iproc(narea) = iproc(narea)+1 
     120                  iperproc(narea) = iperproc(narea)+1 
    105121               ENDIF 
    106122            END DO 
    107             CALL mpp_sum( iproc, jpnij ) 
     123            CALL mpp_sum( iperproc, jpnij ) 
    108124            ! 
    109125            IF(lwp) THEN 
    110126               WRITE(numout,*) 'DATE',adatrj 
    111127               DO jpn = 1, jpnij 
    112                   IF( iproc(jpn) /= 0 ) THEN 
    113                      WRITE(numout,*)'PROCESSOR',jpn-1,'compute',iproc(jpn), 'trajectories.' 
     128                  IF( iperproc(jpn) /= 0 ) THEN 
     129                     WRITE(numout,*)'PROCESSOR',jpn-1,'compute',iperproc(jpn), 'trajectories.' 
    114130                  ENDIF 
    115131               END DO 
  • branches/2011/dev_r2802_MERCATOR9_floats/NEMOGCM/NEMO/OPA_SRC/FLO/flowri.F90

    r2876 r2907  
    22   !!====================================================================== 
    33   !!                       ***  MODULE  flowri  *** 
    4    !! blablabla: floteur.... 
     4   !! 
     5   !! write floats trajectory in ascii                    ln_flo_ascii = T 
     6   !!                      or in netcdf ( IOM or IOSPSL ) ln_flo_ascii = F            
     7   !!  
     8   !! 
    59   !!====================================================================== 
    610   !!  History : 
     
    3034   PRIVATE 
    3135 
    32    PUBLIC flo_wri      ! routine called by floats.F90 
     36   PUBLIC flo_wri         ! routine called by floats.F90 
    3337   PUBLIC flo_wri_alloc   ! routine called by floats.F90 
    3438 
    35    INTEGER :: jfl      ! number of floats 
     39   INTEGER :: jfl                            ! number of floats 
    3640   CHARACTER (len=80)  :: clname             ! netcdf output filename 
    3741 
     
    8690      REAL(wp) :: zafl,zbfl,zcfl                 ! temporary real 
    8791      REAL(wp) :: ztime                          !   " 
    88       !REAL(wp) :: zxxu, zxxu_01,zxxu_10, zxxu_11 !   " 
    8992 
    9093      INTEGER, DIMENSION(2)          :: icount 
    9194      INTEGER, DIMENSION(2)          :: istart 
    92  
    93       INTEGER, DIMENSION(1) ::   ish 
    94       INTEGER, DIMENSION(2) ::   ish2 
    95       REAL(wp), DIMENSION(jpnfl*jpk) ::   zwork   ! 1D workspace 
     95      INTEGER, DIMENSION(1)          :: ish 
     96      INTEGER, DIMENSION(2)          :: ish2 
    9697      !!---------------------------------------------------------------------- 
    9798       
     
    137138               zsal (jfl) = sn(iafloc,ibfloc,icfl) 
    138139               zrho (jfl) = (rhd(iafloc,ibfloc,icfl)+1)*rau0 
    139              
    140             ELSE ! the float is not inside of current proc's area 
    141  
    142                zlon(jfl) = 0. 
    143                zlat(jfl) = 0. 
    144                zdep(jfl) = 0. 
    145                ztem(jfl) = 0. 
    146                zsal (jfl) = 0. 
    147                zrho (jfl) = 0. 
    148140 
    149141            ENDIF 
     
    197189            !---------------------- 
    198190            IF( kt == nn_it000 ) THEN 
    199                CALL ctl_opn( numfl, 'trajec_float', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     191               CALL ctl_opn( numflo, 'trajec_float', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    200192               irecflo = NINT( (nitend-nn_it000) / FLOAT(nn_writefl) ) 
    201                WRITE(numfl,*)cexper,no,irecflo,jpnfl,nn_writefl 
     193               WRITE(numflo,*)cexper,no,irecflo,jpnfl,nn_writefl 
    202194            ENDIF 
    203195 
    204196            !II-1-b Write in ascii file 
    205197            !----------------------------- 
    206             WRITE(numfl,*) zlon,zlat,zdep,nisobfl,ngrpfl,ztem,zsal, FLOAT(ndastp) 
     198            WRITE(numflo,*) zlon,zlat,zdep,nisobfl,ngrpfl,ztem,zsal, FLOAT(ndastp) 
    207199 
    208200 
    209201            !II-1-c Close netcdf file 
    210202            !------------------------- 
    211             IF( kt == nitend )   CLOSE( numfl ) 
     203            IF( kt == nitend )   CLOSE( numflo ) 
    212204 
    213205         ENDIF 
     
    245237               clname=TRIM(clname)//".nc" 
    246238 
    247                CALL fliocrfd( clname , (/ 'ntraj' , 't' /), (/ jpnfl , -1  /) , numfl ) 
     239               CALL fliocrfd( clname , (/ 'ntraj' , 't' /), (/ jpnfl , -1  /) , numflo ) 
    248240    
    249                CALL fliodefv( numfl, 'traj_lon'    , (/1,2/), v_t=flio_r8, long_name="Longitude"           , units="degrees_east"  ) 
    250                CALL fliodefv( numfl, 'traj_lat'    , (/1,2/), v_t=flio_r8, long_name="Latitude"            , units="degrees_north" ) 
    251                CALL fliodefv( numfl, 'traj_depth'  , (/1,2/), v_t=flio_r8, long_name="Depth"               , units="meters" ) 
    252                CALL fliodefv( numfl, 'time_counter', (/2/)  , v_t=flio_r8, long_name="Time axis"           &  
     241               CALL fliodefv( numflo, 'traj_lon'    , (/1,2/), v_t=flio_r8, long_name="Longitude"           , units="degrees_east"  ) 
     242               CALL fliodefv( numflo, 'traj_lat'    , (/1,2/), v_t=flio_r8, long_name="Latitude"            , units="degrees_north" ) 
     243               CALL fliodefv( numflo, 'traj_depth'  , (/1,2/), v_t=flio_r8, long_name="Depth"               , units="meters" ) 
     244               CALL fliodefv( numflo, 'time_counter', (/2/)  , v_t=flio_r8, long_name="Time axis"           &  
    253245                         & , units="seconds since start of the run " ) 
    254                CALL fliodefv( numfl, 'traj_temp'   , (/1,2/), v_t=flio_r8, long_name="Temperature"         , units="C" ) 
    255                CALL fliodefv( numfl, 'traj_salt'   , (/1,2/), v_t=flio_r8, long_name="Salinity"            , units="PSU" ) 
    256                CALL fliodefv( numfl, 'traj_dens'   , (/1,2/), v_t=flio_r8, long_name="Density"             , units="kg/m3" ) 
    257                CALL fliodefv( numfl, 'traj_group'  , (/1/)  , v_t=flio_r8, long_name="number of the group" , units="no unit" ) 
    258  
    259                CALL flioputv( numfl , 'traj_group' , REAL(ngrpfl,wp) ) 
     246               CALL fliodefv( numflo, 'traj_temp'   , (/1,2/), v_t=flio_r8, long_name="Temperature"         , units="C" ) 
     247               CALL fliodefv( numflo, 'traj_salt'   , (/1,2/), v_t=flio_r8, long_name="Salinity"            , units="PSU" ) 
     248               CALL fliodefv( numflo, 'traj_dens'   , (/1,2/), v_t=flio_r8, long_name="Density"             , units="kg/m3" ) 
     249               CALL fliodefv( numflo, 'traj_group'  , (/1/)  , v_t=flio_r8, long_name="number of the group" , units="no unit" ) 
     250 
     251               CALL flioputv( numflo , 'traj_group' , REAL(ngrpfl,wp) ) 
    260252   
    261253            ELSE  ! Re-open 
    262254        
    263                CALL flioopfd( TRIM(clname), numfl , "WRITE" ) 
     255               CALL flioopfd( TRIM(clname), numflo , "WRITE" ) 
    264256 
    265257            ENDIF 
     
    270262            ztime = ( kt-nn_it000 + 1 ) * rdt 
    271263 
    272             CALL flioputv( numfl , 'time_counter', ztime , start=(/irec/) ) 
     264            CALL flioputv( numflo , 'time_counter', ztime , start=(/irec/) ) 
    273265 
    274266            DO jfl = 1, jpnfl 
     
    277269               icfl   = INT( tpkfl(jfl) )            ! K-index of the nearest point before 
    278270 
    279                CALL flioputv( numfl , 'traj_lon'    , zlon(jfl)        , start=istart ) 
    280                CALL flioputv( numfl , 'traj_lat'    , zlat(jfl)        , start=istart )   
    281                CALL flioputv( numfl , 'traj_depth'  , zdep(jfl)        , start=istart )   
    282                CALL flioputv( numfl , 'traj_temp'   , ztemp(icfl,jfl)  , start=istart )   
    283                CALL flioputv( numfl , 'traj_salt'   , zsal(icfl,jfl)   , start=istart )   
    284                CALL flioputv( numfl , 'traj_dens'   , zrho(icfl,jfl)   , start=istart )   
     271               CALL flioputv( numflo , 'traj_lon'    , zlon(jfl)        , start=istart ) 
     272               CALL flioputv( numflo , 'traj_lat'    , zlat(jfl)        , start=istart )   
     273               CALL flioputv( numflo , 'traj_depth'  , zdep(jfl)        , start=istart )   
     274               CALL flioputv( numflo , 'traj_temp'   , ztemp(icfl,jfl)  , start=istart )   
     275               CALL flioputv( numflo , 'traj_salt'   , zsal(icfl,jfl)   , start=istart )   
     276               CALL flioputv( numflo , 'traj_dens'   , zrho(icfl,jfl)   , start=istart )   
    285277 
    286278            ENDDO 
     
    288280            !II-2-b-3 Close netcdf file 
    289281            !--------------------------- 
    290             CALL flioclo( numfl ) 
     282            CALL flioclo( numflo ) 
    291283 
    292284         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.