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 13286 for NEMO/trunk/src/OCE/ZDF – NEMO

Ignore:
Timestamp:
2020-07-09T17:48:29+02:00 (4 years ago)
Author:
smasson
Message:

trunk: merge extra halos branch in trunk, see #2366

Location:
NEMO/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/r12931_sette_ticket2366@HEAD  sette 
  • NEMO/trunk/src/OCE/ZDF/zdfdrg.F90

    r13237 r13286  
    363363         ! cl_varname is a coefficient in [0,1] giving where to apply the regional boost 
    364364         CALL iom_open ( TRIM(cl_file), inum ) 
    365          CALL iom_get  ( inum, jpdom_data, TRIM(cl_varname), zmsk_boost, 1 ) 
     365         CALL iom_get  ( inum, jpdom_global, TRIM(cl_varname), zmsk_boost, 1 ) 
    366366         CALL iom_close( inum) 
    367367         zmsk_boost(:,:) = 1._wp + rn_boost * zmsk_boost(:,:) 
  • NEMO/trunk/src/OCE/ZDF/zdfgls.F90

    r13283 r13286  
    10701070            ! 
    10711071            IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN        ! all required arrays exist 
    1072                CALL iom_get( numror, jpdom_autoglo, 'en'    , en    , ldxios = lrxios ) 
    1073                CALL iom_get( numror, jpdom_autoglo, 'avt_k' , avt_k , ldxios = lrxios ) 
    1074                CALL iom_get( numror, jpdom_autoglo, 'avm_k' , avm_k , ldxios = lrxios ) 
    1075                CALL iom_get( numror, jpdom_autoglo, 'hmxl_n', hmxl_n, ldxios = lrxios ) 
     1072               CALL iom_get( numror, jpdom_auto, 'en'    , en    , ldxios = lrxios ) 
     1073               CALL iom_get( numror, jpdom_auto, 'avt_k' , avt_k , ldxios = lrxios ) 
     1074               CALL iom_get( numror, jpdom_auto, 'avm_k' , avm_k , ldxios = lrxios ) 
     1075               CALL iom_get( numror, jpdom_auto, 'hmxl_n', hmxl_n, ldxios = lrxios ) 
    10761076            ELSE                         
    10771077               IF(lwp) WRITE(numout,*) 
  • NEMO/trunk/src/OCE/ZDF/zdfiwm.F90

    r13237 r13286  
    140140      !!---------------------------------------------------------------------- 
    141141      ! 
    142       !                       !* Set to zero the 1st and last vertical levels of appropriate variables 
    143       zemx_iwm (:,:,1) = 0._wp   ;   zemx_iwm (:,:,jpk) = 0._wp 
    144       zav_ratio(:,:,1) = 0._wp   ;   zav_ratio(:,:,jpk) = 0._wp 
    145       zav_wave (:,:,1) = 0._wp   ;   zav_wave (:,:,jpk) = 0._wp 
     142      !                        
     143      ! Set to zero the 1st and last vertical levels of appropriate variables 
     144      IF( iom_use("emix_iwm") ) THEN 
     145         DO_2D_00_00 
     146            zemx_iwm (ji,jj,1) = 0._wp   ;   zemx_iwm (ji,jj,jpk) = 0._wp 
     147         END_2D 
     148         zemx_iwm (           1:nn_hls,:,:) = 0._wp   ;   zemx_iwm (:,           1:nn_hls,:) = 0._wp 
     149         zemx_iwm (jpi-nn_hls+1:jpi   ,:,:) = 0._wp   ;   zemx_iwm (:,jpj-nn_hls+1:   jpj,:) = 0._wp 
     150      ENDIF 
     151      IF( iom_use("av_ratio") ) THEN 
     152         DO_2D_00_00 
     153            zav_ratio(ji,jj,1) = 0._wp   ;   zav_ratio(ji,jj,jpk) = 0._wp 
     154         END_2D 
     155         zav_ratio(           1:nn_hls,:,:) = 0._wp   ;   zav_ratio(:,           1:nn_hls,:) = 0._wp 
     156         zav_ratio(jpi-nn_hls+1:jpi   ,:,:) = 0._wp   ;   zav_ratio(:,jpj-nn_hls+1:   jpj,:) = 0._wp 
     157      ENDIF 
     158      IF( iom_use("av_wave") ) THEN 
     159         DO_2D_00_00 
     160            zav_wave (ji,jj,1) = 0._wp   ;   zav_wave (ji,jj,jpk) = 0._wp 
     161         END_2D 
     162         zav_wave(           1:nn_hls,:,:) = 0._wp   ;   zav_wave(:,           1:nn_hls,:) = 0._wp 
     163         zav_wave(jpi-nn_hls+1:jpi   ,:,:) = 0._wp   ;   zav_wave(:,jpj-nn_hls+1:   jpj,:) = 0._wp 
     164      ENDIF 
    146165      ! 
    147166      !                       ! ----------------------------- ! 
     
    151170      !                       !* Critical slope mixing: distribute energy over the time-varying ocean depth, 
    152171      !                                                 using an exponential decay from the seafloor. 
    153       DO_2D_11_11 
     172      DO_2D_00_00 
    154173         zhdep(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1)       ! depth of the ocean 
    155174         zfact(ji,jj) = rho0 * (  1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) )  ) 
     
    157176      END_2D 
    158177!!gm gde3w ==>>>  check for ssh taken into account.... seem OK gde3w_n=gdept(:,:,:,Kmm) - ssh(:,:,Kmm) 
    159       DO_3D_11_11( 2, jpkm1 ) 
     178      DO_3D_00_00( 2, jpkm1 ) 
    160179         IF ( zfact(ji,jj) == 0._wp .OR. wmask(ji,jj,jk) == 0._wp ) THEN   ! optimization 
    161180            zemx_iwm(ji,jj,jk) = 0._wp 
     
    177196      CASE ( 1 )               ! Dissipation scales as N (recommended) 
    178197         ! 
    179          zfact(:,:) = 0._wp 
    180          DO jk = 2, jpkm1              ! part independent of the level 
    181             zfact(:,:) =   & 
    182                &  zfact(:,:) +   & 
    183                &  e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
    184          END DO 
    185          ! 
    186          DO_2D_11_11 
     198         DO_2D_00_00 
     199            zfact(ji,jj) = 0._wp 
     200         END_2D 
     201         DO_3D_00_00( 2, jpkm1 )       ! part independent of the level 
     202            zfact(ji,jj) = zfact(ji,jj) + e3w(ji,jj,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(ji,jj,jk) )  ) * wmask(ji,jj,jk) 
     203         END_3D 
     204         ! 
     205         DO_2D_00_00 
    187206            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 
    188207         END_2D 
    189208         ! 
    190          DO jk = 2, jpkm1              ! complete with the level-dependent part 
    191             zemx_iwm(:,:,jk) = zemx_iwm(:,:,jk) + zfact(:,:) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
    192          END DO 
     209         DO_3D_00_00( 2, jpkm1 )       ! complete with the level-dependent part 
     210            zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + zfact(ji,jj) * SQRT(  MAX( 0._wp, rn2(ji,jj,jk) )  ) * wmask(ji,jj,jk) 
     211         END_3D 
    193212         ! 
    194213      CASE ( 2 )               ! Dissipation scales as N^2 
    195214         ! 
    196          zfact(:,:) = 0._wp 
    197          DO jk = 2, jpkm1              ! part independent of the level 
    198             zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk) 
    199          END DO 
    200          ! 
    201          DO_2D_11_11 
     215         DO_2D_00_00 
     216            zfact(ji,jj) = 0._wp 
     217         END_2D 
     218         DO_3D_00_00( 2, jpkm1 )       ! part independent of the level 
     219            zfact(ji,jj) = zfact(ji,jj) + e3w(ji,jj,jk,Kmm) * MAX( 0._wp, rn2(ji,jj,jk) ) * wmask(ji,jj,jk) 
     220         END_3D 
     221         ! 
     222         DO_2D_00_00 
    202223            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 
    203224         END_2D 
    204225         ! 
    205          DO jk = 2, jpkm1              ! complete with the level-dependent part 
    206             zemx_iwm(:,:,jk) = zemx_iwm(:,:,jk) + zfact(:,:) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk) 
    207          END DO 
     226         DO_3D_00_00( 2, jpkm1 )       ! complete with the level-dependent part 
     227            zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + zfact(ji,jj) * MAX( 0._wp, rn2(ji,jj,jk) ) * wmask(ji,jj,jk) 
     228         END_3D 
    208229         ! 
    209230      END SELECT 
     
    212233      !                        !* ocean depth as proportional to rn2 * exp(-z_wkb/rn_hbot) 
    213234      ! 
    214       zwkb (:,:,:) = 0._wp 
    215       zfact(:,:)   = 0._wp 
    216       DO jk = 2, jpkm1 
    217          zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
    218          zwkb(:,:,jk) = zfact(:,:) 
    219       END DO 
    220 !!gm even better: 
    221 !      DO jk = 2, jpkm1 
    222 !         zwkb(:,:) = zwkb(:,:) + e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) 
    223 !      END DO 
    224 !      zfact(:,:) = zwkb(:,:,jpkm1) 
    225 !!gm or just use zwkb(k=jpk-1) instead of zfact... 
    226 !!gm 
    227       ! 
    228       DO_3D_11_11( 2, jpkm1 ) 
     235      DO_2D_00_00 
     236         zwkb(ji,jj,1) = 0._wp 
     237      END_2D 
     238      DO_3D_00_00( 2, jpkm1 ) 
     239         zwkb(ji,jj,jk) = zwkb(ji,jj,jk-1) + e3w(ji,jj,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(ji,jj,jk) )  ) * wmask(ji,jj,jk) 
     240      END_3D 
     241      DO_2D_00_00 
     242         zfact(ji,jj) = zwkb(ji,jj,jpkm1) 
     243      END_2D 
     244      ! 
     245      DO_3D_00_00( 2, jpkm1 ) 
    229246         IF( zfact(ji,jj) /= 0 )   zwkb(ji,jj,jk) = zhdep(ji,jj) * ( zfact(ji,jj) - zwkb(ji,jj,jk) )   & 
    230247            &                                     * wmask(ji,jj,jk) / zfact(ji,jj) 
    231248      END_3D 
    232       zwkb(:,:,1) = zhdep(:,:) * wmask(:,:,1) 
    233       ! 
    234       DO_3D_11_11( 2, jpkm1 ) 
    235          IF ( rn2(ji,jj,jk) <= 0._wp .OR. wmask(ji,jj,jk) == 0._wp ) THEN   ! optimization 
     249      DO_2D_00_00 
     250         zwkb (ji,jj,1) = zhdep(ji,jj) * wmask(ji,jj,1) 
     251      END_2D 
     252      ! 
     253      DO_3D_00_00( 2, jpkm1 ) 
     254         IF ( rn2(ji,jj,jk) <= 0._wp .OR. wmask(ji,jj,jk) == 0._wp ) THEN   ! optimization: EXP coast a lot 
    236255            zweight(ji,jj,jk) = 0._wp 
    237256         ELSE 
     
    241260      END_3D 
    242261      ! 
    243       zfact(:,:) = 0._wp 
    244       DO jk = 2, jpkm1              ! part independent of the level 
    245          zfact(:,:) = zfact(:,:) + zweight(:,:,jk) 
    246       END DO 
    247       ! 
    248       DO_2D_11_11 
     262      DO_2D_00_00 
     263         zfact(ji,jj) = 0._wp 
     264      END_2D 
     265      DO_3D_00_00( 2, jpkm1 )       ! part independent of the level 
     266         zfact(ji,jj) = zfact(ji,jj) + zweight(ji,jj,jk) 
     267      END_3D 
     268      ! 
     269      DO_2D_00_00 
    249270         IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = ebot_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 
    250271      END_2D 
    251272      ! 
    252       DO jk = 2, jpkm1              ! complete with the level-dependent part 
    253          zemx_iwm(:,:,jk) = zemx_iwm(:,:,jk) + zweight(:,:,jk) * zfact(:,:) * wmask(:,:,jk)   & 
    254             &                                / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) ) 
    255 !!gm  use of e3t(:,:,:,Kmm) just above? 
    256       END DO 
     273      DO_3D_00_00( 2, jpkm1 )       ! complete with the level-dependent part 
     274         zemx_iwm(ji,jj,jk) = zemx_iwm(ji,jj,jk) + zweight(ji,jj,jk) * zfact(ji,jj) * wmask(ji,jj,jk)   & 
     275            &                                                        / ( gde3w(ji,jj,jk) - gde3w(ji,jj,jk-1) ) 
     276!!gm  use of e3t(ji,jj,:,Kmm) just above? 
     277      END_3D 
    257278      ! 
    258279!!gm  this is to be replaced by just a constant value znu=1.e-6 m2/s 
    259280      ! Calculate molecular kinematic viscosity 
    260       znu_t(:,:,:) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm)  & 
    261          &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rho0 
    262       DO jk = 2, jpkm1 
    263          znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk) 
    264       END DO 
     281      DO_3D_00_00( 1, jpkm1 ) 
     282         znu_t(ji,jj,jk) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * ts(ji,jj,jk,jp_tem,Kmm)   & 
     283            &                                     + 0.00694_wp * ts(ji,jj,jk,jp_tem,Kmm) * ts(ji,jj,jk,jp_tem,Kmm)  & 
     284            &                                     + 0.02305_wp * ts(ji,jj,jk,jp_sal,Kmm)  ) * tmask(ji,jj,jk) * r1_rho0 
     285      END_3D 
     286      DO_3D_00_00( 2, jpkm1 ) 
     287         znu_w(ji,jj,jk) = 0.5_wp * ( znu_t(ji,jj,jk-1) + znu_t(ji,jj,jk) ) * wmask(ji,jj,jk) 
     288      END_3D 
    265289!!gm end 
    266290      ! 
    267291      ! Calculate turbulence intensity parameter Reb 
    268       DO jk = 2, jpkm1 
    269          zReb(:,:,jk) = zemx_iwm(:,:,jk) / MAX( 1.e-20_wp, znu_w(:,:,jk) * rn2(:,:,jk) ) 
    270       END DO 
     292      DO_3D_00_00( 2, jpkm1 ) 
     293         zReb(ji,jj,jk) = zemx_iwm(ji,jj,jk) / MAX( 1.e-20_wp, znu_w(ji,jj,jk) * rn2(ji,jj,jk) ) 
     294      END_3D 
    271295      ! 
    272296      ! Define internal wave-induced diffusivity 
    273       DO jk = 2, jpkm1 
    274          zav_wave(:,:,jk) = znu_w(:,:,jk) * zReb(:,:,jk) * r1_6   ! This corresponds to a constant mixing efficiency of 1/6 
    275       END DO 
     297      DO_3D_00_00( 2, jpkm1 ) 
     298         zav_wave(ji,jj,jk) = znu_w(ji,jj,jk) * zReb(ji,jj,jk) * r1_6   ! This corresponds to a constant mixing efficiency of 1/6 
     299      END_3D 
    276300      ! 
    277301      IF( ln_mevar ) THEN              ! Variable mixing efficiency case : modify zav_wave in the 
    278          DO_3D_11_11( 2, jpkm1 ) 
     302         DO_3D_00_00( 2, jpkm1 ) 
    279303            IF( zReb(ji,jj,jk) > 480.00_wp ) THEN 
    280304               zav_wave(ji,jj,jk) = 3.6515_wp * znu_w(ji,jj,jk) * SQRT( zReb(ji,jj,jk) ) 
     
    285309      ENDIF 
    286310      ! 
    287       DO jk = 2, jpkm1                 ! Bound diffusivity by molecular value and 100 cm2/s 
    288          zav_wave(:,:,jk) = MIN(  MAX( 1.4e-7_wp, zav_wave(:,:,jk) ), 1.e-2_wp  ) * wmask(:,:,jk) 
    289       END DO 
     311      DO_3D_00_00( 2, jpkm1 )          ! Bound diffusivity by molecular value and 100 cm2/s 
     312         zav_wave(ji,jj,jk) = MIN(  MAX( 1.4e-7_wp, zav_wave(ji,jj,jk) ), 1.e-2_wp  ) * wmask(ji,jj,jk) 
     313      END_3D 
    290314      ! 
    291315      IF( kt == nit000 ) THEN        !* Control print at first time-step: diagnose the energy consumed by zav_wave 
    292316         zztmp = 0._wp 
    293317!!gm used of glosum 3D.... 
    294          DO_3D_11_11( 2, jpkm1 ) 
     318         DO_3D_00_00( 2, jpkm1 ) 
    295319            zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj)   & 
    296320               &          * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj) 
     
    314338      IF( ln_tsdiff ) THEN          !* Option for differential mixing of salinity and temperature 
    315339         ztmp1 = 0.505_wp + 0.495_wp * TANH( 0.92_wp * ( LOG10( 1.e-20_wp ) - 0.60_wp ) ) 
    316          DO_3D_11_11( 2, jpkm1 ) 
     340         DO_3D_00_00( 2, jpkm1 ) 
    317341            ztmp2 = zReb(ji,jj,jk) * 5._wp * r1_6 
    318342            IF ( ztmp2 > 1.e-20_wp .AND. wmask(ji,jj,jk) == 1._wp ) THEN 
     
    323347         END_3D 
    324348         CALL iom_put( "av_ratio", zav_ratio ) 
    325          DO jk = 2, jpkm1           !* update momentum & tracer diffusivity with wave-driven mixing 
    326             p_avs(:,:,jk) = p_avs(:,:,jk) + zav_wave(:,:,jk) * zav_ratio(:,:,jk) 
    327             p_avt(:,:,jk) = p_avt(:,:,jk) + zav_wave(:,:,jk) 
    328             p_avm(:,:,jk) = p_avm(:,:,jk) + zav_wave(:,:,jk) 
    329          END DO 
     349         DO_3D_00_00( 2, jpkm1 )    !* update momentum & tracer diffusivity with wave-driven mixing 
     350            p_avs(ji,jj,jk) = p_avs(ji,jj,jk) + zav_wave(ji,jj,jk) * zav_ratio(ji,jj,jk) 
     351            p_avt(ji,jj,jk) = p_avt(ji,jj,jk) + zav_wave(ji,jj,jk) 
     352            p_avm(ji,jj,jk) = p_avm(ji,jj,jk) + zav_wave(ji,jj,jk) 
     353         END_3D 
    330354         ! 
    331355      ELSE                          !* update momentum & tracer diffusivity with wave-driven mixing 
    332          DO jk = 2, jpkm1 
    333             p_avs(:,:,jk) = p_avs(:,:,jk) + zav_wave(:,:,jk) 
    334             p_avt(:,:,jk) = p_avt(:,:,jk) + zav_wave(:,:,jk) 
    335             p_avm(:,:,jk) = p_avm(:,:,jk) + zav_wave(:,:,jk) 
    336          END DO 
     356         DO_3D_00_00( 2, jpkm1 ) 
     357            p_avs(ji,jj,jk) = p_avs(ji,jj,jk) + zav_wave(ji,jj,jk) 
     358            p_avt(ji,jj,jk) = p_avt(ji,jj,jk) + zav_wave(ji,jj,jk) 
     359            p_avm(ji,jj,jk) = p_avm(ji,jj,jk) + zav_wave(ji,jj,jk) 
     360         END_3D 
    337361      ENDIF 
    338362 
     
    344368      IF( iom_use("bflx_iwm") .OR. iom_use("pcmap_iwm") ) THEN 
    345369         ALLOCATE( z2d(jpi,jpj) , z3d(jpi,jpj,jpk) ) 
    346          z3d(:,:,:) = MAX( 0._wp, rn2(:,:,:) ) * zav_wave(:,:,:) 
    347          z2d(:,:) = 0._wp 
    348          DO jk = 2, jpkm1 
    349             z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk) 
    350          END DO 
    351          z2d(:,:) = rho0 * z2d(:,:) 
    352          CALL iom_put( "bflx_iwm", z3d ) 
     370         ! Initialisation for iom_put 
     371         DO_2D_00_00 
     372            z3d(ji,jj,1) = 0._wp   ;   z3d(ji,jj,jpk) = 0._wp 
     373         END_2D 
     374         z3d(           1:nn_hls,:,:) = 0._wp   ;   z3d(:,           1:nn_hls,:) = 0._wp 
     375         z3d(jpi-nn_hls+1:jpi   ,:,:) = 0._wp   ;   z3d(:,jpj-nn_hls+1:   jpj,:) = 0._wp 
     376         z2d(           1:nn_hls,:  ) = 0._wp   ;   z2d(:,           1:nn_hls  ) = 0._wp 
     377         z2d(jpi-nn_hls+1:jpi   ,:  ) = 0._wp   ;   z2d(:,jpj-nn_hls+1:   jpj  ) = 0._wp 
     378 
     379         DO_3D_00_00( 2, jpkm1 ) 
     380            z3d(ji,jj,jk) = MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) 
     381         END_3D 
     382         DO_2D_00_00 
     383            z2d(ji,jj) = 0._wp 
     384         END_2D 
     385         DO_3D_00_00( 2, jpkm1 )  
     386            z2d(ji,jj) = z2d(ji,jj) + e3w(ji,jj,jk,Kmm) * z3d(ji,jj,jk) * wmask(ji,jj,jk) 
     387         END_3D 
     388         DO_2D_00_00 
     389            z2d(ji,jj) = rho0 * z2d(ji,jj) 
     390         END_2D 
     391         CALL iom_put(  "bflx_iwm", z3d ) 
    353392         CALL iom_put( "pcmap_iwm", z2d ) 
    354393         DEALLOCATE( z2d , z3d ) 
  • NEMO/trunk/src/OCE/ZDF/zdfosm.F90

    r13283 r13286  
    14741474        id1 = iom_varid( numror, 'wn'   , ldstop = .FALSE. ) 
    14751475        IF( id1 > 0 ) THEN                       ! 'wn' exists; read 
    1476            CALL iom_get( numror, jpdom_autoglo, 'wn', ww, ldxios = lrxios ) 
     1476           CALL iom_get( numror, jpdom_auto, 'wn', ww, ldxios = lrxios ) 
    14771477           WRITE(numout,*) ' ===>>>> :  ww read from restart file' 
    14781478        ELSE 
     
    14831483        id2 = iom_varid( numror, 'hbli'   , ldstop = .FALSE. ) 
    14841484        IF( id1 > 0 .AND. id2 > 0) THEN                       ! 'hbl' exists; read and return 
    1485            CALL iom_get( numror, jpdom_autoglo, 'hbl' , hbl , ldxios = lrxios ) 
    1486            CALL iom_get( numror, jpdom_autoglo, 'hbli', hbli, ldxios = lrxios  ) 
     1485           CALL iom_get( numror, jpdom_auto, 'hbl' , hbl , ldxios = lrxios ) 
     1486           CALL iom_get( numror, jpdom_auto, 'hbli', hbli, ldxios = lrxios  ) 
    14871487           WRITE(numout,*) ' ===>>>> :  hbl & hbli read from restart file' 
    14881488           RETURN 
  • NEMO/trunk/src/OCE/ZDF/zdfric.F90

    r12489 r13286  
    214214            ! 
    215215            IF( MIN( id1, id2 ) > 0 ) THEN         ! restart exists => read it 
    216                CALL iom_get( numror, jpdom_autoglo, 'avt_k', avt_k, ldxios = lrxios ) 
    217                CALL iom_get( numror, jpdom_autoglo, 'avm_k', avm_k, ldxios = lrxios ) 
     216               CALL iom_get( numror, jpdom_auto, 'avt_k', avt_k, ldxios = lrxios ) 
     217               CALL iom_get( numror, jpdom_auto, 'avm_k', avm_k, ldxios = lrxios ) 
    218218            ENDIF 
    219219         ENDIF 
  • NEMO/trunk/src/OCE/ZDF/zdftke.F90

    r13237 r13286  
    737737            ! 
    738738            IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN      ! fields exist 
    739                CALL iom_get( numror, jpdom_autoglo, 'en'   , en   , ldxios = lrxios ) 
    740                CALL iom_get( numror, jpdom_autoglo, 'avt_k', avt_k, ldxios = lrxios ) 
    741                CALL iom_get( numror, jpdom_autoglo, 'avm_k', avm_k, ldxios = lrxios ) 
    742                CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl, ldxios = lrxios ) 
     739               CALL iom_get( numror, jpdom_auto, 'en'   , en   , ldxios = lrxios ) 
     740               CALL iom_get( numror, jpdom_auto, 'avt_k', avt_k, ldxios = lrxios ) 
     741               CALL iom_get( numror, jpdom_auto, 'avm_k', avm_k, ldxios = lrxios ) 
     742               CALL iom_get( numror, jpdom_auto, 'dissl', dissl, ldxios = lrxios ) 
    743743            ELSE                                          ! start TKE from rest 
    744744               IF(lwp) WRITE(numout,*) 
Note: See TracChangeset for help on using the changeset viewer.