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 8518 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90 – NEMO

Ignore:
Timestamp:
2017-09-13T18:46:56+02:00 (7 years ago)
Author:
clem
Message:

changes in style - part6 - commits of the day

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90

    r8514 r8518  
    1717   !!---------------------------------------------------------------------- 
    1818   USE ice            ! sea-ice variables 
    19    USE sbc_ice , ONLY :  snwice_mass, snwice_mass_b 
    2019   USE dom_oce        ! ocean domain 
    2120   USE sbc_oce , ONLY : nn_fsbc 
     
    3029   PRIVATE 
    3130 
    32    PUBLIC   ice_rst_opn    ! routine called by icestep.F90 
    33    PUBLIC   ice_rst_write  ! routine called by icestep.F90 
    34    PUBLIC   ice_rst_read   ! routine called by ice_init 
    35  
    36    LOGICAL, PUBLIC ::   lrst_ice         !: logical to control the ice restart write  
    37    INTEGER, PUBLIC ::   numrir, numriw   !: logical unit for ice restart (read and write) 
     31   PUBLIC   ice_rst_opn     ! called by icestp 
     32   PUBLIC   ice_rst_write   ! called by icestp 
     33   PUBLIC   ice_rst_read    ! called by ice_init 
    3834 
    3935   !!---------------------------------------------------------------------- 
     
    7975                  WRITE(numout,*) '             open ice restart NetCDF file: ',TRIM(clpath)//clname 
    8076               END SELECT 
    81                IF( kt == nitrst - 2*nn_fsbc + 1 ) THEN    
    82                   WRITE(numout,*)         '             kt = nitrst - 2*nn_fsbc + 1 = ', kt,' date= ', ndastp 
    83                ELSE   ;   WRITE(numout,*) '             kt = '                         , kt,' date= ', ndastp 
     77               IF( kt == nitrst - 2*nn_fsbc + 1 ) THEN 
     78                  WRITE(numout,*) '             kt = nitrst - 2*nn_fsbc + 1 = ', kt,' date= ', ndastp 
     79               ELSE 
     80                  WRITE(numout,*) '             kt = '                         , kt,' date= ', ndastp 
    8481               ENDIF 
    8582            ENDIF 
     
    10299      INTEGER, INTENT(in) ::   kt     ! number of iteration 
    103100      !! 
    104       INTEGER ::   ji, jj, jk ,jl   ! dummy loop indices 
     101      INTEGER ::   jk ,jl   ! dummy loop indices 
    105102      INTEGER ::   iter 
    106103      CHARACTER(len=25) ::   znam 
     
    127124!!gm   "just" ask Sebatien 
    128125 
    129  
    130126      ! Prognostic variables  
    131127      DO jl = 1, jpl  
     
    133129         znam = 'v_i'//'_htc'//zchar 
    134130         z2d(:,:) = v_i(:,:,jl) 
    135          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     131         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_i 
    136132         znam = 'v_s'//'_htc'//zchar 
    137133         z2d(:,:) = v_s(:,:,jl) 
    138          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     134         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_s 
    139135         znam = 'smv_i'//'_htc'//zchar 
    140136         z2d(:,:) = smv_i(:,:,jl) 
    141          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     137         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! smv_i 
    142138         znam = 'oa_i'//'_htc'//zchar 
    143139         z2d(:,:) = oa_i(:,:,jl) 
    144          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     140         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! oa_i 
    145141         znam = 'a_i'//'_htc'//zchar 
    146142         z2d(:,:) = a_i(:,:,jl) 
    147          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     143         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! a_i 
    148144         znam = 't_su'//'_htc'//zchar 
    149145         z2d(:,:) = t_su(:,:,jl) 
    150          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     146         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! t_su 
    151147      END DO 
    152148 
     
    157153            znam = 'a_ip'//'_htc'//zchar 
    158154            z2d(:,:) = a_ip(:,:,jl) 
    159             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     155            CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! a_ip 
    160156            znam = 'v_ip'//'_htc'//zchar 
    161157            z2d(:,:) = v_ip(:,:,jl) 
    162             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     158            CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! v_ip 
    163159         END DO 
    164160      ENDIF 
     
    169165         znam = 'tempt_sl1'//'_htc'//zchar 
    170166         z2d(:,:) = e_s(:,:,1,jl) 
    171          CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
     167         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! e_s 
    172168         DO jk = 1, nlay_i  
    173169            WRITE(zchar1,'(I2.2)') jk 
    174170            znam = 'tempt'//'_il'//zchar1//'_htc'//zchar 
    175171            z2d(:,:) = e_i(:,:,jk,jl) 
    176             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    177          END DO 
    178       END DO 
    179  
    180       CALL iom_rstput( iter, nitrst, numriw, 'u_ice'        , u_ice      ) 
    181       CALL iom_rstput( iter, nitrst, numriw, 'v_ice'        , v_ice      ) 
    182       CALL iom_rstput( iter, nitrst, numriw, 'stress1_i'    , stress1_i  ) 
    183       CALL iom_rstput( iter, nitrst, numriw, 'stress2_i'    , stress2_i  ) 
    184       CALL iom_rstput( iter, nitrst, numriw, 'stress12_i'   , stress12_i ) 
    185       CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass'  , snwice_mass ) 
    186       CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b ) 
    187  
    188       ! In case Prather scheme is used for advection, write second order moments 
    189       ! ------------------------------------------------------------------------ 
    190       IF( ln_adv_Pra ) THEN 
    191           
    192          DO jl = 1, jpl  
    193             WRITE(zchar,'(I2.2)') jl 
    194             znam = 'sxice'//'_htc'//zchar 
    195             z2d(:,:) = sxice(:,:,jl) 
    196             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    197             znam = 'syice'//'_htc'//zchar 
    198             z2d(:,:) = syice(:,:,jl) 
    199             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    200             znam = 'sxxice'//'_htc'//zchar 
    201             z2d(:,:) = sxxice(:,:,jl) 
    202             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    203             znam = 'syyice'//'_htc'//zchar 
    204             z2d(:,:) = syyice(:,:,jl) 
    205             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    206             znam = 'sxyice'//'_htc'//zchar 
    207             z2d(:,:) = sxyice(:,:,jl) 
    208             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    209             znam = 'sxsn'//'_htc'//zchar 
    210             z2d(:,:) = sxsn(:,:,jl) 
    211             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    212             znam = 'sysn'//'_htc'//zchar 
    213             z2d(:,:) = sysn(:,:,jl) 
    214             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    215             znam = 'sxxsn'//'_htc'//zchar 
    216             z2d(:,:) = sxxsn(:,:,jl) 
    217             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    218             znam = 'syysn'//'_htc'//zchar 
    219             z2d(:,:) = syysn(:,:,jl) 
    220             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    221             znam = 'sxysn'//'_htc'//zchar 
    222             z2d(:,:) = sxysn(:,:,jl) 
    223             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    224             znam = 'sxa'//'_htc'//zchar 
    225             z2d(:,:) = sxa(:,:,jl) 
    226             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    227             znam = 'sya'//'_htc'//zchar 
    228             z2d(:,:) = sya(:,:,jl) 
    229             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    230             znam = 'sxxa'//'_htc'//zchar 
    231             z2d(:,:) = sxxa(:,:,jl) 
    232             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    233             znam = 'syya'//'_htc'//zchar 
    234             z2d(:,:) = syya(:,:,jl) 
    235             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    236             znam = 'sxya'//'_htc'//zchar 
    237             z2d(:,:) = sxya(:,:,jl) 
    238             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    239             znam = 'sxc0'//'_htc'//zchar 
    240             z2d(:,:) = sxc0(:,:,jl) 
    241             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    242             znam = 'syc0'//'_htc'//zchar 
    243             z2d(:,:) = syc0(:,:,jl) 
    244             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    245             znam = 'sxxc0'//'_htc'//zchar 
    246             z2d(:,:) = sxxc0(:,:,jl) 
    247             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    248             znam = 'syyc0'//'_htc'//zchar 
    249             z2d(:,:) = syyc0(:,:,jl) 
    250             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    251             znam = 'sxyc0'//'_htc'//zchar 
    252             z2d(:,:) = sxyc0(:,:,jl) 
    253             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    254             znam = 'sxsal'//'_htc'//zchar 
    255             z2d(:,:) = sxsal(:,:,jl) 
    256             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    257             znam = 'sysal'//'_htc'//zchar 
    258             z2d(:,:) = sysal(:,:,jl) 
    259             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    260             znam = 'sxxsal'//'_htc'//zchar 
    261             z2d(:,:) = sxxsal(:,:,jl) 
    262             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    263             znam = 'syysal'//'_htc'//zchar 
    264             z2d(:,:) = syysal(:,:,jl) 
    265             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    266             znam = 'sxysal'//'_htc'//zchar 
    267             z2d(:,:) = sxysal(:,:,jl) 
    268             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    269             znam = 'sxage'//'_htc'//zchar 
    270             z2d(:,:) = sxage(:,:,jl) 
    271             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    272             znam = 'syage'//'_htc'//zchar 
    273             z2d(:,:) = syage(:,:,jl) 
    274             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    275             znam = 'sxxage'//'_htc'//zchar 
    276             z2d(:,:) = sxxage(:,:,jl) 
    277             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    278             znam = 'syyage'//'_htc'//zchar 
    279             z2d(:,:) = syyage(:,:,jl) 
    280             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    281             znam = 'sxyage'//'_htc'//zchar 
    282             z2d(:,:) = sxyage(:,:,jl) 
    283             CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    284          END DO 
    285  
    286          CALL iom_rstput( iter, nitrst, numriw, 'sxopw ' ,  sxopw  ) 
    287          CALL iom_rstput( iter, nitrst, numriw, 'syopw ' ,  syopw  ) 
    288          CALL iom_rstput( iter, nitrst, numriw, 'sxxopw' ,  sxxopw ) 
    289          CALL iom_rstput( iter, nitrst, numriw, 'syyopw' ,  syyopw ) 
    290          CALL iom_rstput( iter, nitrst, numriw, 'sxyopw' ,  sxyopw ) 
    291           
    292          DO jl = 1, jpl  
    293             WRITE(zchar,'(I2.2)') jl 
    294             DO jk = 1, nlay_i  
    295                WRITE(zchar1,'(I2.2)') jk 
    296                znam = 'sxe'//'_il'//zchar1//'_htc'//zchar 
    297                z2d(:,:) = sxe(:,:,jk,jl) 
    298                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    299                znam = 'sye'//'_il'//zchar1//'_htc'//zchar 
    300                z2d(:,:) = sye(:,:,jk,jl) 
    301                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    302                znam = 'sxxe'//'_il'//zchar1//'_htc'//zchar 
    303                z2d(:,:) = sxxe(:,:,jk,jl) 
    304                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    305                znam = 'syye'//'_il'//zchar1//'_htc'//zchar 
    306                z2d(:,:) = syye(:,:,jk,jl) 
    307                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    308                znam = 'sxye'//'_il'//zchar1//'_htc'//zchar 
    309                z2d(:,:) = sxye(:,:,jk,jl) 
    310                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    311             END DO 
    312          END DO 
    313          ! MV MP 2016 
    314          IF ( nn_pnd_scheme > 0 ) THEN 
    315             DO jl = 1, jpl  
    316                WRITE(zchar,'(I2.2)') jl 
    317                znam = 'sxap'//'_htc'//zchar 
    318                z2d(:,:) = sxap(:,:,jl) 
    319                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    320                znam = 'syap'//'_htc'//zchar 
    321                z2d(:,:) = syap(:,:,jl) 
    322                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    323                znam = 'sxxap'//'_htc'//zchar 
    324                z2d(:,:) = sxxap(:,:,jl) 
    325                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    326                znam = 'syyap'//'_htc'//zchar 
    327                z2d(:,:) = syyap(:,:,jl) 
    328                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    329                znam = 'sxyap'//'_htc'//zchar 
    330                z2d(:,:) = sxyap(:,:,jl) 
    331                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    332     
    333                znam = 'sxvp'//'_htc'//zchar 
    334                z2d(:,:) = sxvp(:,:,jl) 
    335                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    336                znam = 'syvp'//'_htc'//zchar 
    337                z2d(:,:) = syvp(:,:,jl) 
    338                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    339                znam = 'sxxvp'//'_htc'//zchar 
    340                z2d(:,:) = sxxvp(:,:,jl) 
    341                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    342                znam = 'syyvp'//'_htc'//zchar 
    343                z2d(:,:) = syyvp(:,:,jl) 
    344                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    345                znam = 'sxyvp'//'_htc'//zchar 
    346                z2d(:,:) = sxyvp(:,:,jl) 
    347                CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    348             END DO 
    349          ENDIF 
    350  
    351       ENDIF 
     172            CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) ! e_i 
     173         END DO 
     174      END DO 
     175 
     176      CALL iom_rstput( iter, nitrst, numriw, 'u_ice', u_ice ) ! u_ice 
     177      CALL iom_rstput( iter, nitrst, numriw, 'v_ice', v_ice ) ! v_ice 
    352178       
    353179      ! close restart file 
     
    368194      !! ** purpose  :   read of sea-ice variable restart in a netcdf file 
    369195      !!---------------------------------------------------------------------- 
    370       INTEGER  :: ji, jj, jk, jl 
     196      INTEGER  :: jk, jl 
    371197      REAL(wp) :: zfice, ziter 
    372198      REAL(wp), DIMENSION(jpi,jpj) ::   z2d 
     
    379205      IF(lwp) THEN 
    380206         WRITE(numout,*) 
    381          WRITE(numout,*) 'ice_rst_read : read ice NetCDF restart file' 
    382          WRITE(numout,*) '~~~~~~~~~~~~~' 
     207         WRITE(numout,*) 'ice_rst_read: read ice NetCDF restart file' 
     208         WRITE(numout,*) '~~~~~~~~~~~~' 
    383209      ENDIF 
    384210 
     
    390216      IF(lwp) WRITE(numout,*) '   in any case we force it to nit000 - 1 : ', nit000 - 1 
    391217 
    392       !Control of date 
    393  
     218      ! Control of date 
    394219      IF( ( nit000 - NINT(ziter) ) /= 1 .AND. ABS( nrstdt ) == 1 )   & 
    395220         &     CALL ctl_stop( 'ice_rst_read ===>>>> : problem with nit000 in ice restart',  & 
     
    451276      END DO 
    452277 
    453       CALL iom_get( numrir, jpdom_autoglo, 'u_ice'     , u_ice      ) 
    454       CALL iom_get( numrir, jpdom_autoglo, 'v_ice'     , v_ice      ) 
    455       CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i  ) 
    456       CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i  ) 
    457       CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 
    458       CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass'  , snwice_mass ) 
    459       CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) 
    460  
    461       ! In case Prather scheme is used for advection, read second order moments 
    462       ! ------------------------------------------------------------------------ 
    463       IF( ln_adv_Pra ) THEN 
    464  
    465          DO jl = 1, jpl  
    466             WRITE(zchar,'(I2.2)') jl 
    467             znam = 'sxice'//'_htc'//zchar 
    468             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    469             sxice(:,:,jl) = z2d(:,:) 
    470             znam = 'syice'//'_htc'//zchar 
    471             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    472             syice(:,:,jl) = z2d(:,:) 
    473             znam = 'sxxice'//'_htc'//zchar 
    474             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    475             sxxice(:,:,jl) = z2d(:,:) 
    476             znam = 'syyice'//'_htc'//zchar 
    477             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    478             syyice(:,:,jl) = z2d(:,:) 
    479             znam = 'sxyice'//'_htc'//zchar 
    480             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    481             sxyice(:,:,jl) = z2d(:,:) 
    482             znam = 'sxsn'//'_htc'//zchar 
    483             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    484             sxsn(:,:,jl) = z2d(:,:) 
    485             znam = 'sysn'//'_htc'//zchar 
    486             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    487             sysn(:,:,jl) = z2d(:,:) 
    488             znam = 'sxxsn'//'_htc'//zchar 
    489             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    490             sxxsn(:,:,jl) = z2d(:,:) 
    491             znam = 'syysn'//'_htc'//zchar 
    492             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    493             syysn(:,:,jl) = z2d(:,:) 
    494             znam = 'sxysn'//'_htc'//zchar 
    495             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    496             sxysn(:,:,jl) = z2d(:,:) 
    497             znam = 'sxa'//'_htc'//zchar 
    498             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    499             sxa(:,:,jl) = z2d(:,:) 
    500             znam = 'sya'//'_htc'//zchar 
    501             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    502             sya(:,:,jl) = z2d(:,:) 
    503             znam = 'sxxa'//'_htc'//zchar 
    504             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    505             sxxa(:,:,jl) = z2d(:,:) 
    506             znam = 'syya'//'_htc'//zchar 
    507             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    508             syya(:,:,jl) = z2d(:,:) 
    509             znam = 'sxya'//'_htc'//zchar 
    510             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    511             sxya(:,:,jl) = z2d(:,:) 
    512             znam = 'sxc0'//'_htc'//zchar 
    513             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    514             sxc0(:,:,jl) = z2d(:,:) 
    515             znam = 'syc0'//'_htc'//zchar 
    516             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    517             syc0(:,:,jl) = z2d(:,:) 
    518             znam = 'sxxc0'//'_htc'//zchar 
    519             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    520             sxxc0(:,:,jl) = z2d(:,:) 
    521             znam = 'syyc0'//'_htc'//zchar 
    522             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    523             syyc0(:,:,jl) = z2d(:,:) 
    524             znam = 'sxyc0'//'_htc'//zchar 
    525             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    526             sxyc0(:,:,jl) = z2d(:,:) 
    527             znam = 'sxsal'//'_htc'//zchar 
    528             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    529             sxsal(:,:,jl) = z2d(:,:) 
    530             znam = 'sysal'//'_htc'//zchar 
    531             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    532             sysal(:,:,jl) = z2d(:,:) 
    533             znam = 'sxxsal'//'_htc'//zchar 
    534             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    535             sxxsal(:,:,jl) = z2d(:,:) 
    536             znam = 'syysal'//'_htc'//zchar 
    537             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    538             syysal(:,:,jl) = z2d(:,:) 
    539             znam = 'sxysal'//'_htc'//zchar 
    540             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    541             sxysal(:,:,jl) = z2d(:,:) 
    542             znam = 'sxage'//'_htc'//zchar 
    543             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    544             sxage(:,:,jl) = z2d(:,:) 
    545             znam = 'syage'//'_htc'//zchar 
    546             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    547             syage(:,:,jl) = z2d(:,:) 
    548             znam = 'sxxage'//'_htc'//zchar 
    549             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    550             sxxage(:,:,jl) = z2d(:,:) 
    551             znam = 'syyage'//'_htc'//zchar 
    552             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    553             syyage(:,:,jl) = z2d(:,:) 
    554             znam = 'sxyage'//'_htc'//zchar 
    555             CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    556             sxyage(:,:,jl)= z2d(:,:) 
    557          END DO 
    558          ! MV MP 2016 
    559          IF ( nn_pnd_scheme > 0 ) THEN 
    560             DO jl = 1, jpl  
    561                WRITE(zchar,'(I2.2)') jl 
    562                znam = 'sxap'//'_htc'//zchar 
    563                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    564                sxap(:,:,jl) = z2d(:,:) 
    565                znam = 'syap'//'_htc'//zchar 
    566                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    567                syap(:,:,jl) = z2d(:,:) 
    568                znam = 'sxxap'//'_htc'//zchar 
    569                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    570                sxxap(:,:,jl) = z2d(:,:) 
    571                znam = 'syyap'//'_htc'//zchar 
    572                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    573                syyap(:,:,jl) = z2d(:,:) 
    574                znam = 'sxyap'//'_htc'//zchar 
    575                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    576                sxyap(:,:,jl) = z2d(:,:) 
    577     
    578                znam = 'sxvp'//'_htc'//zchar 
    579                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    580                sxvp(:,:,jl) = z2d(:,:) 
    581                znam = 'syvp'//'_htc'//zchar 
    582                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    583                syvp(:,:,jl) = z2d(:,:) 
    584                znam = 'sxxvp'//'_htc'//zchar 
    585                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    586                sxxvp(:,:,jl) = z2d(:,:) 
    587                znam = 'syyvp'//'_htc'//zchar 
    588                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    589                syyvp(:,:,jl) = z2d(:,:) 
    590                znam = 'sxyvp'//'_htc'//zchar 
    591                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    592                sxyvp(:,:,jl) = z2d(:,:) 
    593             END DO 
    594          ENDIF 
    595          ! END MV MP 2016 
    596  
    597          CALL iom_get( numrir, jpdom_autoglo, 'sxopw ' ,  sxopw  ) 
    598          CALL iom_get( numrir, jpdom_autoglo, 'syopw ' ,  syopw  ) 
    599          CALL iom_get( numrir, jpdom_autoglo, 'sxxopw' ,  sxxopw ) 
    600          CALL iom_get( numrir, jpdom_autoglo, 'syyopw' ,  syyopw ) 
    601          CALL iom_get( numrir, jpdom_autoglo, 'sxyopw' ,  sxyopw ) 
    602  
    603          DO jl = 1, jpl  
    604             WRITE(zchar,'(I2.2)') jl 
    605             DO jk = 1, nlay_i  
    606                WRITE(zchar1,'(I2.2)') jk 
    607                znam = 'sxe'//'_il'//zchar1//'_htc'//zchar 
    608                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    609                sxe(:,:,jk,jl) = z2d(:,:) 
    610                znam = 'sye'//'_il'//zchar1//'_htc'//zchar 
    611                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    612                sye(:,:,jk,jl) = z2d(:,:) 
    613                znam = 'sxxe'//'_il'//zchar1//'_htc'//zchar 
    614                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    615                sxxe(:,:,jk,jl) = z2d(:,:) 
    616                znam = 'syye'//'_il'//zchar1//'_htc'//zchar 
    617                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    618                syye(:,:,jk,jl) = z2d(:,:) 
    619                znam = 'sxye'//'_il'//zchar1//'_htc'//zchar 
    620                CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 
    621                sxye(:,:,jk,jl) = z2d(:,:) 
    622             END DO 
    623          END DO 
    624          ! 
    625       END IF 
    626        
    627       ! clem: I do not understand why the following IF is needed 
    628       !       I suspect something inconsistent in the main code with option nn_icesal=1 
    629       IF( nn_icesal == 1 ) THEN 
    630          DO jl = 1, jpl  
    631             sm_i(:,:,jl) = rn_icesal 
    632             DO jk = 1, nlay_i  
    633                s_i(:,:,jk,jl) = rn_icesal 
    634             END DO 
    635          END DO 
    636       ENDIF 
    637       ! 
    638       !CALL iom_close( numrir ) !clem: closed in icestp.F90 
    639       ! 
     278      CALL iom_get( numrir, jpdom_autoglo, 'u_ice', u_ice ) 
     279      CALL iom_get( numrir, jpdom_autoglo, 'v_ice', v_ice ) 
     280 
    640281   END SUBROUTINE ice_rst_read 
    641282 
Note: See TracChangeset for help on using the changeset viewer.